Systems and methods for power efficient mobile device communication

ABSTRACT

Methods, devices, and systems for tracking an asset are provided. In particular, a device is provided that includes a processor; a wide-area network radio; a global positioning system (GPS) receiver; an accelerometer; and a physical interface. The processor determines a GPS signal is unavailable. In response to determining the GPS signal is unavailable, the processor enables one or more sensors. The processor obtains fingerprint data from a first sensor of the one or more sensors. The processor transmits the fingerprint data to a network-based server. The fingerprint data is used by the server to identify a location of the tracking device.

FIELD

The present disclosure is generally directed to the logistics tracking and, particularly toward the use of logistics tracking units in monitoring shipments.

BACKGROUND

Traditional shipping models generally included a limited number of simple transportation modes and methods to deliver a product to its final destination. However, the traditional shipping models typically dealt with large cargo transported by dedicated carriers. As can be appreciated, tracking a conventional shipment under this model was a fairly simple process of reviewing a shipping list, or inspecting the shipment, after it had reached a particular handoff point or destination.

Recently, the traditional shipping model has been significantly altered to include a number of handoffs and/or transfers between various carriers to meet optimized delivery logistics. In addition, as lean manufacturing methods are increasingly employed in the technology sector, the shipping demands associated with product and/or component inventory has significantly changed. In short, these changes require an enhanced tracking of shipments beyond the traditional model of checking a shipment upon reaching a destination. Current Asset Tracking Products are heavily burdened with amortized NRE because they are generally sold in relatively low volumes.

A primary concern for contemporary tracking solutions involves the amount of bidirectional communication time needed to send and receive data from other devices. What is needed is a way to minimize such bidirectional communication time while saving both power and data consumption.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a logistics tracking system in accordance with embodiments of the present disclosure;

FIG. 2 is a representation of a graphical user interface displaying logistics tracking information in accordance with embodiments of the present disclosure;

FIG. 3A shows a perspective view of a logistics tracking unit in accordance with embodiments of the present disclosure;

FIG. 3B shows a first plan view of the logistics tracking unit of FIG. 3A;

FIG. 3C shows a front elevation view of the logistics tracking unit of FIG. 3A;

FIG. 3D shows a right elevation view of the logistics tracking unit of FIG. 3A;

FIG. 3E shows a rear elevation view of the logistics tracking unit of FIG. 3A;

FIG. 3F shows a second plan view of the logistics tracking unit opposite the first plan view shown in FIG. 3B;

FIG. 3G shows a left elevation view of the logistics tracking unit of FIG. 3A;

FIG. 4 shows an exploded perspective view of the logistics tracking unit of FIG. 3A

FIG. 5 shows a detail perspective view of a sensor aperture taken from section A of FIG. 4;

FIG. 6A shows a perspective view of an electronics subassembly of the logistics tracking unit in accordance with at least some embodiments of the present disclosure;

FIG. 6B shows a first plan view of the electronics subassembly of FIG. 6A;

FIG. 6C shows a second plan view of the electronics subassembly opposite the first plan view shown in FIG. 6A;

FIG. 6D shows a detail perspective view of a single-piece compartmentalized shielding frame of the electronics subassembly in accordance with embodiments of the present disclosure;

FIG. 7 shows a perspective view of a tamperproof sensor data permeable travel pouch for a logistics tracking unit in accordance with embodiments of the present disclosure;

FIG. 8A shows a front plan view of a logistics tracking unit charging system in accordance with embodiments of the present disclosure;

FIG. 8B shows a bottom end view of the logistics tracking unit charging system of FIG. 8A;

FIG. 8C shows a right end view of the logistics tracking unit charging system of FIG. 8A;

FIG. 8D shows a top end view of the logistics tracking unit charging system of FIG. 8A;

FIG. 8E shows a rear plan view of the logistics tracking unit charging system of FIG. 8A;

FIG. 8F shows a left end view of the logistics tracking unit charging system of FIG. 8A;

FIG. 9 show a computing environment of the LTU in accordance with embodiments of the present disclosure;

FIG. 10 shows a hardware diagram for the LTU or other computer systems associated with the LTU system in accordance with embodiments of the present disclosure;

FIG. 11 shows a software/hardware diagram for the LTU in accordance with embodiments of the present disclosure;

FIG. 12 shows another software/hardware diagram for the LTU in accordance with embodiments of the present disclosure;

FIG. 13 shows a software/hardware diagram for the LTU server in accordance with embodiments of the present disclosure;

FIG. 14 shows a software/hardware diagram for the authentication function of the LTU server in accordance with embodiments of the present disclosure;

FIG. 15 shows a software/hardware diagram for the middleware function of the LTU server in accordance with embodiments of the present disclosure;

FIG. 16 shows a software/hardware diagram for the tracking processing function of the LTU server in accordance with embodiments of the present disclosure;

FIG. 17 shows a block diagram of data that may be communicated, stored, and/or retrieved by the LTU or other systems herein in accordance with embodiments of the present disclosure;

FIG. 18 shows a modular intelligent tracking platform hardware block diagram in accordance with embodiments of the present disclosure;

FIG. 19 shows a block diagram of a logistics tracking system in accordance with embodiments of the present disclosure;

FIG. 20 shows a block diagram of a logistics tracking system in accordance with embodiments of the present disclosure;

FIG. 21 shows a block diagram of a common platform of a logistics tracking system in accordance with embodiments of the present disclosure;

FIG. 22 shows a block diagram of a trailer and container tracker in accordance with embodiments of the present disclosure;

FIG. 23 shows a block diagram of a trailer and container tracker with solar power in accordance with embodiments of the present disclosure;

FIG. 24 shows a block diagram of an OBD-II tracking system in accordance with embodiments of the present disclosure;

FIG. 25 shows a block diagram of a shipment tracking system in accordance with embodiments of the present disclosure;

FIG. 26 shows a block diagram of a tracking system in accordance with embodiments of the present disclosure;

FIG. 27 shows a block diagram of a tracking system in accordance with embodiments of the present disclosure;

FIG. 28 shows a block diagram of a tracking system in accordance with embodiments of the present disclosure;

FIG. 29 shows a block diagram of a tracking system in accordance with embodiments of the present disclosure; and

FIG. 30 illustrates a flow chart of a method in accordance with embodiments of the present disclosure;

FIG. 31 illustrates a flow chart of a method in accordance with embodiments of the present disclosure; and

FIG. 32 illustrates a flow chart of a method in accordance with embodiments of the present disclosure.

DETAILED DESCRIPTION

It is with respect to the above issues and other problems that the embodiments presented herein were contemplated. In general, embodiments of the present disclosure provide methods, devices, and systems by which assets, objects, and/or shipments may be tracked at any point during a shipment. At least one aspect of the present disclosure includes providing rich tracking information including environmental conditions, timing, travel information, and/or other data associated with a monitored shipment. The information may be gathered by one or more tracking units, compiled by a tracking server, and presented to a user to provide graphical and intuitive logistics tracking information in real-time, near-real-time, and/or as a shipment is in transit.

Embodiments of the present disclosure will be described in connection with a logistics tracking unit (LTU). The LTU may be configured as a physical device that can be selectively associated with a package, shipment, cargo, and/or other object that travels from an origin to a destination. In some embodiments, the LTU may be secured to an object directly and/or in a tamperproof travel pouch. In any event, the LTU may be associated with a traveling object physically (e.g., attached thereto, etc.) and/or virtually (e.g., associating an identification of a shipment to an identification of the LTU, etc., which can be stored in the cloud or some other memory.

Tracking Environment:

FIG. 1 is a block diagram of a logistics tracking system 100 in accordance with embodiments of the present disclosure. The logistics tracking system 100 may include a shipping object 104 and an associated logistics tracking unit (LTU) 300. The shipping object 104 and LTU 300 may be transported via at least one vehicle 108 (e.g., truck, car, ship, airplane, drone, etc.). Examples of shipping objects 104 may include, but are in no way limited to, a package, pallet, box, travel container, shipping container, bulk container, freight container, drum, crate, pail, etc., and/or combinations thereof. In some cases, the shipping object 104 may represent a group of individual shipping containers that are grouped together to form a single trackable shipment. The LTU 300 may be selectively attached to a shipping object 104 and associated with a corresponding shipment. The association of the LTU 300 to the shipment may be performed via one or more instructions sent from an LTU server 132 to the LTU 300. Association of the LTU 300 may include correlating a unique identification of an LTU 300 with a unique shipment identification (e.g., including one or more shipping objects 104, etc.). Once recorded, the correlation may be recorded in a memory of the LTU server 132 and/or third-party server 140. In some embodiments, the association between the LTU 300 and the shipment may last until the association for the LTU 300 is reset (e.g., once a shipment is completed, upon receiving reset commands from the LTU server 132, etc.).

Once the LTU 300 is associated with a shipment and is in an active state (e.g., turned on, programmed to report, etc.), the LTU 300 may record and/or report a position, location, environmental conditions, force measurements, changes in information, combinations thereof, and/or any other information related to the shipment. The LTU 300 may report this information via a number of different communications channels and/or devices. In some embodiments, the LTU 300 may be configured to determine a geographical position using one or more satellite positioning systems. Examples of satellite positioning systems may include, but is in no way limited to, the global positioning system (GPS), global navigation satellite system (GLONASS), BeiDou navigation satellite system (BeiDou-2), European Union global navigation satellite system (GNSS), etc., and/or combinations thereof. While the geographical position of the LTU 300 may be determined via information received from any propriety or open satellite positioning system, the term GPS may be used herein to represent all satellite positioning systems. The LTU 300 may include a GPS receiver configured to exchange position information with a GPS satellite system 120. This position information may be stored in a memory of the LTU 300.

As the LTU may be configured with a suite of sensors, the LTU 300 may detect and report a number of conditions and/or other tracking information associated with a shipment. For instance, the LTU 300 may detect, record, and report tracking information including, but in no way limited to, geographical position, temperature, humidity, barometric pressure, atmospheric conditions (e.g., oxygen, carbon monoxide, carbon dioxide, and/or other gas and levels detected), shock, impacts, lighting, and/or other conditions associated with a shipment. In any event, the LTU 300 may be configured to transmit and/or receive information via one or more orbiting communication satellites 124 and terrestrial satellite dish 128, terrestrial antennas 112 (e.g., cell towers, repeaters, GSM communication equipment, etc.), wireless local area networking (WiFi) hotspots 116, and/or other radio frequency communications. Reported information may be passed along various communication channels to an LTU server 132. In some embodiments, the LTU server 132 may be configured to send instructions, commands, and/or other information to the LTU 300 via the same or similar communication channels.

As described herein, the LTU 300 may send and/or receive data across one or more of the communications channels via one or more methods, protocols, and/or devices. In some cases, the LTU 300 may be configured to send information via the fastest route (e.g., the communication channel and/or mode having the fastest available data transfer rate, etc.). In one embodiment, the LTU 300 may be configured to send information via the most reliable route (e.g., via a communication channel including error checking and/or complete transmission checking, TCP, etc.). In any event, the LTU 300 may determine that one or more of the communications channels are unavailable (e.g., low signal strength, unreliable connection, etc.) and switch communication to another available channel. The LTU 300 may switch between transmission types and/or modes “on-the-fly,” or as a communications channels become unavailable or available. In the event that no communication channel is available, the LTU 300 may store information in a memory to be sent or transmitted at a later time (e.g., the next time a communication channel becomes available, etc.).

The LTU server 132 may be configured to interpret the information received from one or more LTUs 300 in transit and compile the information for presentation to at least one third-party server 140. The third-party server 140 may correspond to the server associated with a shipper, a carrier, a receiver, an insuring entity, a governmental regulatory entity, and/or some other entity/party. The compiled information may provide details to the third-party regarding a particular shipment, the position and/or location of each LTU 300, estimated time of travel and/or arrival, state and/or conditions of the shipment and/or other data.

In some embodiments, communications between the third-party server 140 and the LTU server 132 may be exchanged across at least one communication network 136. In accordance with at least some embodiments of the present disclosure, the communication network 136 may comprise any type of known communication medium or collection of communication media and may use any type of protocols to transport messages between endpoints. The communication network 136 may include wired and/or wireless communication technologies. The Internet is an example of the communication network 136 that constitutes an Internet Protocol (IP) network consisting of many computers, computing networks, and other communication devices located all over the world, which are connected through many telephone systems and other means. Other examples of the communication network 136 include, without limitation, a standard Plain Old Telephone System (POTS), an Integrated Services Digital Network (ISDN), the Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Voice over Internet Protocol (VoIP) network, a Session Initiation Protocol (SIP) network, a cellular network, and any other type of packet-switched or circuit-switched network known in the art. In addition, it can be appreciated that the communication network 136 need not be limited to any one network type, and instead may be comprised of a number of different networks and/or network types. The communication network 136 may comprise a number of different communication media such as coaxial cable, copper cable/wire, fiber-optic cable, antennas for transmitting/receiving wireless messages, and combinations thereof.

Logistics Tracking Interface:

FIG. 2 is a representation of a graphical user interface (GUI) 200 displaying logistics tracking information in accordance with embodiments of the present disclosure. In some embodiments, the logistics tracking information may be presented to a display device, screen, and/or touchscreen associated with a computing device (e.g., server, computer, smart phone, tablet, etc.). The GUI 200 may include a graphical representation of a map 204 including a number of geographical locations including shipping origins, waypoints, and destinations.

The GUI 200 may include tracking information provided by at least one LTU 300 associated with a shipment. In some embodiments, one or more shipments in transit 208A-208E may be represented by a high-level graphical image. The high-level graphical image may correspond to an image configured to show one or more aspects of the shipment including, but in no way limited to, a travel path 212A-212E, a mode of transportation (e.g., represented as a symbol corresponding to a particular transport or shipping vehicle, etc.) an origin (e.g., a first endpoint of the travel path 212A-212E, etc.), a destination (e.g., a second or final endpoint of the travel path 212A-212E, etc.), a direction of travel (e.g., indicated by a direction of the transportation mode symbol, arrow, or other indicator, etc.), and/or a point in the travel path (e.g., indicated by a relative position of the transport mode symbol along the path 212A-212E, and/or a position between the endpoints, etc.).

In some embodiments, a user may be able to determine more information by selecting a particular shipment in transit 208A-208E, travel path 212A-212E, origin, destination, and/or endpoint, to name a few. For example, a user may interface with the GUI 200 and select a graphical element associated with the first shipment 208A, 212A, etc. Upon selecting the graphical element (e.g., the airplane transportation mode symbol, etc.), the GUI 200 may present a first-level detail window 216 to a portion of the GUI 200. The information in the first-level detail window 216 may provide enhanced details provided from the LTU 300 associated with the first shipment in transit 208A. The enhanced details may include more specific and/or additional information than is available from the high-level graphical image for each tracked shipment. By way of example, the window 216 may include a shipment identifier 228, shipping specifics 232 (e.g., carrier type, carrier identification, status, time in transit, total time shipping, etc.), graphical estimated time of arrival 236, and/or an LTU condition indicator 224. In some embodiments, one or more of these details may be selected to reveal further details about selected details. This additional level of detail may be referred to as a second-level detail view. In one embodiment, the second-level detail view may open a new window, popup, or other viewer.

Continuing the example above, the first-level detail window 216 shows that the first shipment 208A is shipping by air, has been “in-transit” for just over four hours, and there is one hour left before the shipment is scheduled to arrive at a destination. In addition, the first-level detail window 216 shows that the state of the LTU 300 (e.g., via the LTU condition indicator 224) associated with that shipment is satisfactory (e.g., via a thumbs up, check mark, etc.). A satisfactory state of the LTU 300 may serve to indicate that the LTU 300 has not been subjected to extreme temperatures, forces, shocks, delays, interruptions, and/or other measured values that exceed a predetermined threshold. The predetermined threshold may be set for a particular shipment or LTU 300 by a carrier, shipper, and/or receiver. In some cases, the threshold may be matched to a particular type of cargo (e.g., food, live animals, sensitive equipment, etc.), such that any deviation outside of acceptable predetermined limits (e.g., temperatures, pressures, time delays, etc.) raises an alarm. As can be appreciated, the LTU 300 may send an alarm reporting this deviation to the LTU server 132 and/or third-party server 140 in real-time, as the deviation is detected, in near-real-time, and/or in non-real-time when the LTU 300 can establish a communication channel to the LTU server 132 and/or third-party server 140.

In one embodiment, selecting the LTU condition indicator 224 may allow a user to request additional information about the status of the LTU 300 over a recorded time period of the shipment. As described above, the requested additional information may be presented via a second-level detail view that may be configured to open a new window, popup, or other viewer. In one embodiment, any recorded information, or event, may be shown on a timeline representing the travel of the LTU 300 during the shipment. The timeline may include an overlay of waypoints, changes of transportation modes, tracking events, and/or other shipping events detected by the LTU 300. The information presented to the GUI 200 may be compiled and/or arranged by the LTU server 132 described herein.

The mechanical details of the LTU 300 are described in conjunction with FIGS. 3A-3G. The LTU 300 may incorporate a split-housing design including a cover 304 and a base 308. The cover 304 and the base 308 may be interconnected and/or sealed via one or more fastening elements 348, retaining clips 360, gaskets, and/or O-rings. In any event, an LTU electronics subassembly 600 may be arranged within the split-housing of the LTU 300. This arrangement may include weatherproofing, athermalization, shock resistance, sensor data permeability, etc., and/or interference isolation from one or more components of the LTU electronics subassembly 600.

Logistics Tracking Unit:

Referring to FIG. 3, a perspective view of the LTU 300 is shown in accordance with embodiments of the present disclosure. The LTU 300 may include a number of features to allow for easy installation, unobtrusive attachment, reliable tracking or movement monitoring, data reporting, and/or handling. As shown in FIG. 3, the cover 304 of the LTU 300 includes an environmental sensor aperture 312, an ambient lighting sensor window 316, an indicator 320 (e.g., a light emitting diode (LED), display output, touchscreen, etc.), and/or an optional physical port window 328. In some cases, the LTU 300 may include a number of features disposed around the periphery of the device that provide handling gripped areas 324. These areas 324 may be configured as protruding elements, undulated surfaces, interrupted surfaces, indentations in the cover 304, etc., and/or some other irregular portion of the LTU 300 configured to provide a gripping surface for a user of the LTU 300.

The cover 304 may be made from a plastic or other communication signal-permeable material. In one embodiment, the cover 304 may be molded (e.g., injection molded, thermoformed, rotational molded, compression molded, and/or the like) in the form of a three-dimensional geometric shape configured to house at least a portion of the electronics subassembly 600 of the LTU 300. In some embodiments, the LTU 300 shape may be configured as a substantially rectangular three-dimensional unit having a minimal height to safely contain the elements of the electronics subassembly 600. In one embodiment, the overall height, or thickness, of the LTU 300 may be dimensioned to have a height less than one inch, or 25.4 millimeters.

In some embodiments, the cover 304 may include an environmental sensor aperture 312 that is configured to allow a portion of the environment outside of the LTU 300 to be exposed to, or pass through, a portion of the inside of the LTU 300. This exposure may be an unobstructed physical path from outside of the LTU 300 to a sensing area of a sensor disposed inside the LTU 300. For instance, the sensor may correspond to a pressure sensor that is configured to measure a barometric pressure in an environment surrounding the LTU 300. In this case, the environmental sensor aperture 312 may provide an opening from the sensor contained within the LTU 300 to the environment surrounding the LTU 300. Parts of the LTU 300 may be sealed and/or isolated from this opening, while the sensor is still allowed to detect and report to the processor of the LTU 300. In some embodiments, the environmental sensor aperture 312 may include a number of features preventing blocking of the physical path from outside of the LTU 300 to a sensing area of a sensor disposed inside the LTU 300. These features may be described in greater detail in conjunction with FIG. 5.

The ambient lighting sensor window 316 may be sealed in a portion of the cover 304. For instance, the ambient lighting sensor window 316 may be inserted and sealed from an interior of the LTU 300. In one embodiment, the ambient lighting sensor window 316 may be inserted and sealed from an exterior of the LTU 300. In yet another embodiment, the ambient lighting sensor window 316 may be configured as a window that is inserted from an interior of the LTU 300 and bonded, sealed, or laminated to a window that is inserted from an exterior of the LTU 300. In any event, the ambient lighting sensor window 316 allows ambient light, or light surrounding a portion of the LTU 300, to pass therethrough and to be detected by a light sensor disposed inside the LTU 300 on the electronics subassembly 600. The ambient lighting sensor window 316 may be transparent and/or translucent such that lighting external to the LTU 300 can be detected by a sensor inside the LTU 300.

The indicator 320 may be an LED or other light emitting element. The indicator 320 may be disposed beneath a window of the cover 304 and/or sealed from an environment inside the LTU 300. The window of the indicator 320 may be similar, if not identical, to the window of the ambient lighting sensor window 316 described above. In some embodiments, the indicator 320 may be configured to provide a visual output representing one or more states of the LTU 300. For example, the indicator 320 may be configured to output a specific color, flash, stay solid, and/or combinations thereof. In one embodiment, the indicator 320 may change color to indicate a state of charge (e.g., green indicating the LTU 300 is fully charged, orange indicating the LTU 300 is less than fully charged, and red indicating the LTU 300 requires charging). Additionally or alternatively, the indicator 320 may provide a visual output representing a state of communication associated with the LTU 300. In this example, the indicator 320 may be colored and/or flash to indicate, among other things, that data is being transferred, there is an interruption in communications, there is a limited communication or data transfer ability, etc.

In some embodiments, the LTU 300 may include one or more ports and/or connectors configured to facilitate an exchange of data between the processor and/or memory of the LTU 300 and an interconnected system (e.g., a computer, server, mobile device, flash drive, etc.). The ports may be a part of, or segregated from, another connection (e.g., a power connection, etc.). In one embodiment, one or more of the ports and/or may be accessible by a removable physical port window 328. The physical port window 328 may be selectively and/or removably sealed to the cover 304 of the LTU 300 via at least one of a fastening element, retaining element, O-ring, gasket, and/or other element, latch, or fastening system. It is an aspect of the present disclosure that the physical port window 328 is weatherproof and capable of preventing fluid, dust, and/or other debris from entering the LTU 300 via an opening in the cover 304.

As shown in FIGS. 3B and 3C, the LTU 300 may include a number of dimensions making up the length 302, width 306, and height 310 of the LTU 300. In some embodiments, the length 302 and width 306 may be equal in dimension forming a substantially square area. Although shown as a substantially rectangular three-dimensional shape, the shape of the LTU 300 is not so limited. For instance, the LTU 300 may be cylindrical and/or have any number of sides/surfaces greater than two. In some embodiments, the shape of the LTU 300 may provide accurate and repeatable installation to an object in a monitored shipment. For instance, the substantially rectangular shape of the LTU 300 allows the device to be mounted to a substantially flat surface at the planar surface of the base 308, the cover 304 and/or the sides 332A-D. In some embodiments, one or more of the substantially linear edges (e.g., around the periphery, etc.) of the LTU 300 shown in FIGS. 3A-3G may serve as an alignment or installation datum. Among other things, these linear edges may be aligned to an orientation of the package in shipment. For instance, the width 306 edge may be aligned in an axis vertical (e.g., parallel with the gravity vector) orientation when attached to an object that is part of a shipment. In the event that the object changes orientation (e.g., flips upside down, falls over, etc.) an accelerometer or other sensor of the LTU 300 may determine that the object changed orientation and even report the direction in which the object moved.

FIG. 3F shows an embodiment of the underside, or bottom, of the LTU 300. As shown in FIG. 3F, the base 308 of the LTU 300 may include a power button 336, an identification tag area 340, at least one electrical terminal 344A, 344B, and one or more fastening elements 348 (e.g., screws, bolts, etc., fastening the base 308 to the cover 304 and/or some other portion of the LTU 300).

The power button 336 may be recessed beneath, or under flush with, a planar surface of the base 308. This arrangement may prevent accidental or undesired actuation of the power button 336. In some embodiments, the power button 336 may be limited in functionality. For instance, the power button 336 may only allow a single activation, or powering, of the LTU 300 per shipment. The limited functionality may prevent the device from being turned off from pressing the power button 336 after it has been powered on, until some reset input is provided to the LTU 300. The functionality may be reset, for instance, by recharging the LTU 300, receiving a reset command sent from a control device, upon completion of a shipment, and/or resetting the shipment association via a control processor (e.g., sending a reset command to the LTU 300).

The identification tag area 340 may include an identification tag configured to uniquely identify the LTU 300 from another device and/or other LTU. In some embodiments, the identification tag area 340 may be an RFID tag and/or a printed tag including identifying information contained therein. In some cases, the identification tag area 340 may include a location feature 342 configured to locate an attached identification tag.

The LTU 300 may include electrical contact terminals 344A, 344B configured to provide an electrical contact from an exterior of the LTU 300 to a portion of the electronics subassembly 600 contained therein. The electrical contact terminals 344A, 344B may be configured to charge a battery or other power source 606 of the LTU electronics subassembly 600. Additionally or alternatively, the electrical contact terminals 344A, 344B may be configured to exchange communications between one or more components of the LTU 300 and an interconnected system. In one embodiment, the first terminal 344A may correspond to a positive terminal and the second terminal 344B may correspond to a negative terminal. In any event, the LTU 300 may include any number of terminals that hermetically or weather seal the inside of the LTU 300 from the outside of the LTU 300 and may still allow electrical communication between the inside and outside of the LTU 300. In some embodiments, the terminals 344A, 344B may be insert molded into the base 308 of the LTU 300. The base 308 may include a beveled, arcuate, or chamfered surface 352 running around a periphery of the base 308.

FIG. 4 shows a perspective exploded view of the LTU 300 including the LTU electronics subassembly 600. In some embodiments, the base 308 may include a number of features configured to contain and/or support a portion of the electronics subassembly 600. For instance, the base 308 may include a battery compartment 356 and a printed circuit board (PCB) compartment 658. The battery compartment 356 may include a number of features configured to isolate movement of the battery 606 when retained inside the LTU 300. These isolation features may include one or more of a series of molded contact features in the base 308 and/or the cover 304, a compliant pad (e.g., shock absorbing member, etc.), at least one adhesive contact, retaining clips, and/or some other element or isolation system. The PCB compartment 658 may include an area configured to receive one or more parts of the LTU PCB 604. The PCB compartment 658 may be shaped to substantially match a portion of the LTU PCB 604. In some cases, at least one channel or passthrough may be integrated into the PCB compartment 658 and the battery compartment 656. These features may allow electrical cabling, grounding, and/or other wires to pass from the battery 606 to one or more components of the PCB 604.

The base 308 may include clips 360 configured to mate with corresponding tabs disposed on the cover 304, or vice versa. When mated, the cover 304 and the base 308 may physically connect via the clips 360 and the corresponding features. In some embodiments, the clips 360 may be disposed around a periphery of the LTU 300. The base 308 and/or the cover 304 may include one or more gaskets or O-rings that are configured to provide a seal between the base 308 and cover 304 when interconnected. In one embodiment, the base 308 may include internal switch features 362 configured to receive an actuation input provided at the power button 336 and pass the input to a receiving element on the PCB 604.

FIG. 5 shows a detail view of the environmental sensor aperture 312. As described above, the environmental sensor aperture 312 may be configured to provide an unimpeded sensing path between a portion of the environment outside of the LTU 300 and a sensor disposed inside a portion of the LTU 300. In some embodiments, the environmental sensor aperture 312 may include raised or castellated portions 508 protruding from a planar surface 502 of the cover 304. The castellated portions 508 may be disposed around a periphery 510 of the environmental sensor aperture 312. In any event, the castellated portions 508 provide an interrupted surface of the LTU cover 304 such that a single planar surface cannot block a sensing opening 504A, 504B of the environmental sensor aperture 312. This arrangement is important when the cover 304 of the LTU 300 is placed in intimate contact with a planar surface of some object during shipment. In this example, the LTU 300 may still take accurate measurements of the environment outside of the LTU 300. While shown as a series of castellated portions 508, the raised features are not so limited. For instance, the environmental sensor aperture 312 may employ an undulated or irregular surface, and/or some other feature configured to prevent blocking by an object during operation.

Referring now to FIG. 6A, a perspective view of an LTU electronics subassembly 600 is shown in accordance with embodiments of the present disclosure. The electronics subassembly 600 may include a PCB 604 electrically interconnected with a power source, or battery 606 via one or more connectors. The PCB 604 may include a first antenna 614 (e.g., global system for mobile (GSM) communication antenna, etc.), first electronics and RF shielding 612 (e.g., chips, memory, transistors, etc.), a CPU 608, global positioning system (GPS) system 616 and GPS antenna 618, an indicator element 620, an interface connector 622, and a compliant battery pad 610. In some embodiments, one or more of the LTU electronics subassembly 600 components may be disposed on a first side 602 of the PCB 604.

As shown in FIGS. 6A and 6B, the various elements of the PCB 604 may be arranged to mitigate, reduce, and/or eliminate signal interference and/or noise between the components of the LTU 300. For instance, the first antenna 614 (e.g., the GSM antenna) may be disposed at a first corner of the PCB 604 while the GPS antenna 618 may be disposed at an opposite corner of the PCB 604 and the LTU 300. Additionally or alternatively, the battery 606 may be disposed in a path between the first antenna 614 and the GPS antenna 618. As can be appreciated, the arrangement depicted in illustrated in FIGS. 6A and 6B provide a tortuous path for signals from each antenna to interfere with one another. This tortuous path and arrangement of elements can prevent interference and/or noise in the system.

FIG. 6C shows the underside 636 of the LTU PCB 604 and electronics subassembly 600. As illustrated, the PCB 604 may include a power button area 632, power supply cabling 628 (e.g., wires, ribbon cable, flex ribbons, etc.), a battery connector 624, a sensor hub 640 and shielding, and a power management unit (PMU) 644 and shielding. The shielding associated with one or more of the components of the PCB 604 may provide electromagnetic interference (EMI) and/or radio frequency interference (RFI) shielding from internal and/or external sources.

FIG. 6D shows a detail perspective view of a single-piece compartmentalized shielding frame 648 of the electronics subassembly in accordance with embodiments of the present disclosure. Although shown as associated with the first electronics and RF shielding 612, it should be appreciated that the single-piece compartmentalized shielding frame 648 may be associated with any group of components in the electronics subassembly 600 that could benefit from segregated compartmentalized shielding. The single-piece compartmentalized shielding frame 648 may be made from a metallized molded plastic or a sheet metal part. For instance, a sheet metal part may include a number of bent portions 652A-652D, 656 and cutouts 658A, 658B configured to shield one area (e.g., the electronics in the area associated with the first cutout 658A) from another area (e.g., the electronics in the area associated with the second cutout 658B). In some cases, the single-piece compartmentalized shielding frame 648 may include a portion of material 660 configured to cover one or more electronic components. These covered components may be determined to produce significant amounts of interference (e.g., EMI, RFI, etc.) and/or be susceptible to outside interference (e.g., EMI, RFI, etc.). In any event, each of the bent internal portions 656 of the frame 648 may physically separate components within different areas of the frame 648 from interfering with one another. The single-piece compartmentalized shielding frame 648 may be covered by a single-piece as shown in FIGS. 6A and 6B.

FIG. 7 shows a perspective view of a tamperproof sensor data permeable travel pouch 700 for an LTU 300 attached to a shipping object 702 in accordance with embodiments of the present disclosure. The shipping object 702 may be similar, if not identical, to the shipping object 104 described in conjunction with FIG. 1. In some embodiments, the travel pouch 700 may include a mounting area 708 surrounding at least a portion of the travel pouch 700 and having an adhesive layer disposed on a mounting surface facing a shipping object mount surface 706. The shipping object 702 may correspond to a pallet, box, package, or other object that can be transported from an origin to a destination. In one embodiment, prior to shipping, a backing layer may be separated from the adhesive layer and the mounting area 708 of the travel pouch 700 may be pressed against the mount surface 706 of the shipping object 702 to be tracked. Additionally or alternatively, the travel pouch 700 may be fastened, glued, or otherwise attached/secured to the shipping object 702 via one or more fastening elements 716. The fastening elements 716 may include, but are in no way limited to, rivets, screws, staples, nails, welds, etc.

Although shown mounted to an XY plane of the shipping object 702, it should be appreciated that the travel pouch 700 and LTU 300 may be oriented in any number of directions, planes, and/or axes 704. For example, the travel pouch 700 may be mounted to a shipping object 702 in the XY plane, XZ plane, and/or YZ plane as indicated by the axes 704.

In some embodiments, the travel pouch 700 may be configured to provide a secure attachment to the shipping object 702 while maintaining tracking and measurement accuracy. For instance, the travel pouch 700 may be made from a durable breathable, translucent, signal transmissive, material (e.g., plastic, nylon, para-aramid synthetic fiber, composite, cloth, and/or textile, etc.) configured to allow environmental and communications to permeate a cover 710 of the travel pouch 700 and reach the LTU 300. Among other things, the travel pouch 700 may allow air to pass freely from an internal space 712 of the travel pouch 700 to an external space outside the travel pouch 700 and in a shipping environment of the shipping object 702. This breathable material can allow the LTU 300 to take accurate pressure, humidity, and/or temperature readings as the LTU 300 is traveling. In addition, the travel pouch 700 may allow lighting conditions in a shipping environment to be observed by viewing the amount of light received by the ambient lighting sensor window 316 through the translucent travel pouch material. This ability allows the LTU 300 to detect whether an associated shipment is in a lit area (e.g., outside, in a lighted warehouse, etc.) or in an unlit area (e.g., in a cargo hold, in a vehicle, and/or in an unlighted warehouse, etc.) and send a message to a receiving system communicating this information. In any event, the information collected by the LTU 300 may be used to find a location of a package, determine if certain shipping requirements were met, and/or otherwise track conditions of a package during shipment.

The travel pouch 700 may include a flap 714 that can be opened to provide access to the internal space 712 of the travel pouch 700. Once opened, the LTU 300 may be inserted into the internal space 712 and the flap 714 may be closed and sealed against the cover 710 surface of the travel pouch 700. The flap 714 may include an adhesive layer disposed on at least one surface. The adhesive layer may be protected by a backing layer until the flap 714 is to be sealed, at which time, the backing layer may be removed exposing the adhesive layer. In one embodiment, the adhesive layer may be disposed on the cover 710. In any event, the flap 714 may be configured to only be sealed once. In some cases, the flap 714 cannot be resealed or removed from the cover 710 without indicating a possible tamper event has occurred. For example, an attempt to open a sealed flap 714 may result in damage to the flap 714, the cover 710, and/or some other portion of the travel pouch 700. The damage may serve to indicate that a tamper event occurred.

In some cases, the travel pouch 700 may include a tag disposed inside the internal space 712 configured to communicate with the LTU 300. This tag may be a simple magnetic token that is detected by a sensor or component of the LTU 300, indicating the LTU 300 has been inserted into the travel pouch 700. Once removed from the travel pouch 700, the LTU 300 may no longer detect the tag and report that the LTU 300 has been removed from the travel pouch 700. In response, the LTU 300 may enter a tamper or lockdown mode and may even be configured to report the possible tamper event via a message sent across a wireless communication network to at least one receiving device and/or server.

Charging Unit:

The LTU 300 may be charged alone or together with other tracking units via a charging system 800. The charging system 800 will be described in conjunction with FIGS. 8A-8F. The charging system 800 may include a body 804 comprising a number of charging slots 808 each configured to receive an LTU 300. In some embodiments, the charging slots 808 may be disposed at an angle relative to a rear surface 828 of the charging system 800 such that the LTU 300 may be at least partially retained in the charging slots 808 with the aid of gravity. Each LTU 300 may physically engage with a corresponding charging slot 808 and the terminals 344A, 344B of the engaged LTU 300 may be configured to contact, or electrically interconnect with, charging terminals inside the charging system 800. Through this electrical interconnection, the LTU 300 may be charged. While the charging system 800 may be configured to charge one or more LTUs 300, the charging system 800 illustrated in FIGS. 8A-8F include twenty charging stations. It is an aspect of the present disclosure that more or fewer charging stations than illustrated in the accompanying figures may be included in the charging system 800.

The charging system 800 may include a first wall mount feature 812 (e.g., a lower mount bracket, etc.), a second wall mount feature 816 (e.g., an upper wall mount bracket, etc.) including a number of slots, holes, and/or other mounting features configured to secure the charging system 800 to a wall or other mount surface. In some embodiments, the charging system 800 may be hardwired into an electrical supply, include an alternating current (AC) input port, a direct current (DC) input port, a stepdown transformer, an AC to DC converter, and/or other electrical supply connection.

In some embodiments, the charging system 800 may include at least one charging indicator 820. The charging indicator may be configured to output a specific color, flash, stay solid, and/or combinations thereof. In one embodiment, the charging indicator 820 may change color to indicate a state of charge for one or more of the LTUs 300 engaged with the charging stations. While each LTU indicator 320 may be used to visually display and/or indicate a state of charge associated with an individual LTU 300, the charging indicator 820 of the charging system 800 may indicate a state of charge for the group of LTUs 300 engaged with the charging stations. By way of example, the charging indicator 820 may illuminate a particular color (e.g., green) only when all of the LTUs in the charging system 800 are fully charged (or are charged at an acceptable shipping charge level). This approach can allow a monitoring user or a machine to determine that a particular set of LTUs 300 are ready for shipping. Additionally or alternatively, this approach can allow a monitoring user or a machine to determine when a charging system 800 is available to charge a new set of LTUs 300. In some embodiments, the charging indicator 820 may illuminate a particular color (e.g., green) when a select group of LTUs 300 in the charging system 800 are charged (e.g., a group of LTUs 300 associated with a particular shipment, etc.). Additionally or alternatively, the charging indicator 820 may illuminate when at least one LTU 300 in the charging system 800 is charged.

The charging system 800 may include a communication module that is configured to communicate with a charge monitoring server across a wireless communication network to alert the charge monitoring server of any status associated with one or more LTUs 300 in the charging system 800. As can be appreciated, the charge monitoring server may be configured to receive messages from multiple charging systems 800 regarding the state of charge associated with LTUs 300 engaged therewith.

LTU Environment:

FIG. 9 illustrates a block diagram of a computing environment 901 that may function as the servers, LTUs, user computers, or other systems provided and described above. The environment 901 includes one or more user computer, or computing devices, such as a LTU 300, a communication device 907, third-party server 140, etc. The computing devices 300, 907, 140 may include general purpose personal computers (including, merely by way of example, personal computers, and/or laptop computers running various versions of Microsoft Corp.'s Windows® and/or Apple Corp.'s Macintosh® operating systems) and/or workstation computers running any of a variety of commercially-available UNI9® or other operating systems. These computing devices 300, 907, 140 may also have any of a variety of applications, including for example, database client and/or server applications, and web browser applications. Alternatively, the computing devices 300, 907, 140 may be any other electronic device, such as a thin-client computer, Internet-enabled mobile telephone, an LTU, and/or personal digital assistant, capable of communicating via a network 136, sending or receiving logistics information or commands, and/or displaying and navigating web pages or other types of electronic documents. Although the exemplary computer environment 901 is shown with three computing devices, any number of user computers or computing devices may be supported.

Environment 901 further includes a network 136. The network 136 may can be any type of network familiar to those skilled in the art that can support data communications using any of a variety of commercially-available protocols, including without limitation SIP, TCP/IP, SNA, IPX, AppleTalk, and the like. Merely by way of example, the network 136 maybe a local area network (“LAN”), such as an Ethernet network, a Token-Ring network and/or the like; a wide-area network; a virtual network, including without limitation a virtual private network (“VPN”); the Internet; an intranet; an extranet; a public switched telephone network (“PSTN”); an infra-red network; a wireless network (e.g., a network operating under any of the IEEE 802.9 suite of protocols, the Bluetooth® protocol known in the art, and/or any other wireless protocol); and/or any combination of these and/or other networks.

The system 901 may also include one or more servers 913, 132. In this example, server 913 is shown as a web server and server 132 is shown as an application server, or more particularly, a LTU server 132. The web server 913, which may be used to process requests for web pages or other electronic documents from computing devices 300, 907, 140. The web server 913 can be running an operating system including any of those discussed above, as well as any commercially-available server operating systems. The web server 913 can also run a variety of server applications, including SIP servers, HTTP servers, FTP servers, CGI servers, database servers, Java servers, and the like. In some instances, the web server 913 may publish operations available operations as one or more web services.

The environment 901 may also include one or more file and or/application servers 132, which can, in addition to an operating system, include one or more applications accessible by a client running on one or more of the computing devices 300, 907, 140. The server(s) 132 and/or 913 may be one or more general purpose computers capable of executing programs or scripts in response to the computing devices 300, 907, 140. As one example, the server 132, 913 may execute one or more web applications. The web application may be implemented as one or more scripts or programs written in any programming language, such as Java™, C, C#®, or C++, and/or any scripting language, such as Perl, Python, or TCL, as well as combinations of any programming/scripting languages. The application server(s) 132 may also include database servers, including without limitation those commercially available from Oracle, Microsoft, Sybase™, IBM™ and the like, which can process requests from database clients running on a computing device 300, 907, 140.

The web pages created by the server 913 and/or 132 may be forwarded to a computing device 300, 907, 140 via a web (file) server 913, 132. Similarly, the web server 913 may be able to receive web page requests, web services invocations, and/or input data from a computing device 300, 907, 140 (e.g., a user computer, etc.) and can forward the web page requests and/or input data to the web (application) server 132. In further embodiments, the server 132 may function as a file server. Although for ease of description, FIG. 9 illustrates a separate web server 913 and file/application server 132, those skilled in the art will recognize that the functions described with respect to servers 913, 132 may be performed by a single server and/or a plurality of specialized servers, depending on implementation-specific needs and parameters. The computer systems 300, 907, 140, web (file) server 913 and/or web (application) server 132 may function as the system, devices, or components described in FIGS. 1-8F and/or 10-17.

The environment 901 may also include a database 917. The database 917 may reside in a variety of locations. By way of example, database 917 may reside on a storage medium local to (and/or resident in) one or more of the computers 300, 907, 140, 913, 132. Alternatively, it may be remote from any or all of the computers 300, 907, 140, 913, 132, and in communication (e.g., via the network 136) with one or more of these. The database 917 may reside in a storage-area network (“SAN”) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the computers 300, 907, 140, 913, 132 may be stored locally on the respective computer and/or remotely, as appropriate. The database 917 may be a relational database, such as Oracle 20i®, that is adapted to store, update, and retrieve data in response to SQL-formatted commands.

LTU and/or Server Hardware:

FIG. 10 illustrates one embodiment of a computer system 1000 upon which the servers, user computers, computing devices, LTUS, or other systems or components described above may be deployed or executed. The computer system 10 is shown comprising hardware elements that may be electrically coupled via a bus(ses) 1021. Some hardware elements, represented by dashed boxes, may be optional or specific to one of the devices, e.g., the LTU. The hardware elements may include one or more central processing units (CPUs) 1023; one or more input devices 1025 (e.g., a mouse, a keyboard, etc.); and one or more output devices 1027 (e.g., a display device, a printer, etc.). The computer system 10 may also include one or more storage devices 1029. By way of example, storage device(s) 1029 may be disk drives, optical storage devices, solid-state storage devices such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable and/or the like.

The computer system 10 may additionally include a computer-readable storage media reader 1031; a communications system 1033 (e.g., a modem, a network card (wireless or wired), an infra-red communication device, etc.); and working memory 1037, which may include RAM and ROM devices as described above. The computer system 10 may also include a processing acceleration unit 1035, which can include a DSP, a special-purpose processor, and/or the like.

The computer-readable storage media reader 1031 can further be connected to a computer-readable storage medium, together (and, optionally, in combination with storage device(s) 1029) comprehensively representing remote, local, fixed, and/or removable storage devices plus storage media for temporarily and/or more permanently containing computer-readable information. The communications system 1033 may permit data to be exchanged with a network and/or any other computer described above with respect to the computer environments described herein. Moreover, as disclosed herein, the term “storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information.

The computer system 10 may also comprise software elements, shown as being currently located within a working memory 1037, including an operating system 1039 and/or other code 1041. It should be appreciated that alternate embodiments of a computer system 10 may have numerous variations from that described above. For example, customized hardware might also be used and/or particular elements might be implemented in hardware, software (including portable software, such as applets), or both. Further, connection to other computing devices such as network input/output devices may be employed.

Examples of the processors 1023 as described herein may include, but are not limited to, at least one of Qualcomm® Snapdragon® 800 and 801, Qualcomm® Snapdragon® 620 and 615 with 4G LTE Integration and 64-bit computing, Apple® A7 processor with 64-bit architecture, Apple® M7 motion coprocessors, Samsung® Exynos® series, the Intel® Core™ family of processors, the Intel® Xeon® family of processors, the Intel® Atom™ family of processors, the Intel Itanium® family of processors, Intel® Core® i5-4670K and i7-4770K 22 nm Haswell, Intel® Core® i5-3570K 22 nm Ivy Bridge, the AMD® FX™ family of processors, AMD® FX-4300, FX-6300, and FX-8350 32 nm Vishera, AMD® Kaveri processors, Texas Instruments® Jacinto C6000™ automotive infotainment processors, Texas Instruments® OMAP™ automotive-grade mobile processors, ARM® Cortex™-M processors, ARM® Cortex-A and ARM926EJ-S™ processors, other industry-equivalent processors, and may perform computational functions using any known or future-developed standard, instruction set, libraries, and/or architecture.

The computer system 1000 may include one or more sensors and systems 304, sensor processors 1043, communications subsystem 1033 connected to one or more different communication media (e.g., a cellular communication system 1045, a BlueTooth® or BlueTooth® Low Energy (BLE) communication system, a WiFi® communication system, etc.), a positioning system 1051 (e.g., a global positioning satellite (GPS) system), one or more antenna 1053, a battery 1055, and/or a charging port 1057. These associated components may be electrically and/or communicatively coupled to one another via at least one bus 10221 to distribute power and/or communication signals.

In accordance with at least some embodiments of the present disclosure, the communication system 1033 may utilize or communication using any type of known communication medium or collection of communication media and may use any type of protocols, such as SIP, TCP/IP, SNA, IPX, AppleTalk, and the like, to transport messages between endpoints. The communication system 1033 may use wired and/or wireless communication technologies to communicate over communication network 136. The Internet is an example of the communication network 136 that constitutes an Internet Protocol (IP) network consisting of many computers, computing networks, and other communication devices located all over the world, which are connected through many telephone systems and other means. Other examples of the communication network 136 include, without limitation, a standard Plain Old Telephone System (POTS), an Integrated Services Digital Network (ISDN), the Public Switched Telephone Network (PSTN), a Local Area Network (LAN), such as an Ethernet network, a Token-Ring network and/or the like, a Wide Area Network (WAN), a virtual network, including without limitation a virtual private network (“VPN”); the Internet, an intranet, an extranet, a cellular network, an infra-red network; a wireless network (e.g., a network operating under any of the IEEE 802.11 suite of protocols, the Bluetooth® protocol known in the art, and/or any other wireless protocol), and any other type of packet-switched or circuit-switched network known in the art and/or any combination of these and/or other networks. In addition, it can be appreciated that the communication network 352 need not be limited to any one network type, and instead may be comprised of a number of different networks and/or network types. The communication network 352 may comprise a number of different communication media such as coaxial cable, copper cable/wire, fiber-optic cable, antennas for transmitting/receiving wireless messages, and combinations thereof.

The communication system 1033 can utilize one or more communication subsystems to communicate over the communication network 136. For example, the cellular system 1045 can be used to communicate through an antenna 1053 to a cellular system 112. The BLE system 1047 can be used to communicate to over a Bluetooth® connection, and the WiFi® system 1049 can be used to communicate over the WiFi® communication system 116. Any of the systems 1045, 1047, 1049 may use an antenna 1053 for transmitting wireless signals.

The communications componentry can include one or more wired or wireless devices such as a transceiver(s) and/or modem that allows communications not only between the various systems disclosed herein but also with other devices, such as devices on a network, and/or on a distributed network such as the Internet and/or in the cloud. The communications subsystem 1033 can also include inter- and intra-communications capabilities such as hotspot and/or access point connectivity.

Additionally, and while not specifically illustrated, the communications subsystem can include one or more communications links (that can be wired or wireless) and/or communications busses (managed by the bus manager 1974), including one or more of CANbus, OBD-II, ARCINC 429, Byteflight, CAN (Controller Area Network), D2B (Domestic Digital Bus), FlexRay, DC-BUS, IDB-1394, IEBus, I2C, ISO 9141-1/-2, J1708, J1587, J1850, J1939, ISO 11783, Keyword Protocol 2000, LIN (Local Interconnect Network), MOST (Media Oriended Systems Transport), Multifunction Vehicle Bus, SMARTwireX, SPI, VAN (Vehicle Area Network), and the like or in general any communications protocol and/or standard. The various protocols and communications can be communicated one or more of wirelessly and/or over transmission media (sometimes when physically connected to a port in the LTU 300) such as single wire, twisted pair, fibre optic, IEEE 1394, MIL-STD-1553, MIL-STD-1773, power-line communication, or the like. (All of the above standards and protocols are incorporated herein by reference in their entirety)

As discussed, the communications subsystem 1033 enables communications between any if the inter-systems and subsystems as well as communications with non-collocated resources, such as those reachable over a network such as the Internet. The communications subsystem 1033, in addition to well-known componentry (which has been omitted for clarity), can include interconnected elements including one or more of, but not limited to: one or more antennas 1053, an interleaver/deinterleaver, an analog front end (AFE), memory/storage/cache, MAC circuitry, modulator/demodulator, encoder/decoder, a plurality of connectivity managers, GPU, accelerator, a multiplexer/demultiplexer, transmitter, receiver and wireless radio components such as a Wi-Fi PHY/Bluetooth® module, a Wi-Fi/BT MAC module, transmitter and receiver. The various elements in the computer system 1000 are connected by one or more links/busses 1021 (not shown, again for sake of clarity).

The computer system 1000 can have one more antennas 1053, for use in wireless communications such as multi-input multi-output (MIMO) communications, multi-user multi-input multi-output (MU-MIMO) communications Bluetooth®, LTE, 4G, 5G, Near-Field Communication (NFC), etc. The antenna(s) 1053 can include, but are not limited to one or more of directional antennas, omnidirectional antennas, monopoles, patch antennas, loop antennas, microstrip antennas, dipoles, and any other antenna(s) suitable for communication transmission/reception. In an exemplary embodiment, transmission/reception using MIMO may require particular antenna spacing. In another exemplary embodiment, MIMO transmission/reception can enable spatial diversity allowing for different channel characteristics at each of the antennas.

Antenna(s) 1053 generally interact with the AFE, which is needed to enable the correct processing of the received modulated signal and signal conditioning for a transmitted signal. The AFE can be functionally located between the antenna and a digital baseband system in order to convert the analog signal into a digital signal for processing and vice-versa.

The controller/microprocessor 1023 may comprise a general purpose programmable processor or controller for executing application programming or instructions related to the computer system 1000. Furthermore, the controller/microprocessor 1023 can perform operations for configuring and transmitting/receiving information as described herein. The controller/microprocessor 1023 may include multiple processor cores, and/or implement multiple virtual processors. Optionally, the controller/microprocessor 1023 may include multiple physical processors. By way of example, the controller/microprocessor 1023 may comprise a specially configured Application Specific Integrated Circuit (ASIC) or other integrated circuit, a digital signal processor(s), a controller, a hardwired electronic or logic circuit, a programmable logic device or gate array, a special purpose computer, or the like.

The computer system 1000 can further include a transmitter and receiver which can transmit and receive signals, respectively, to and from other devices, subsystems and/or other destinations using the one or more antennas 1053 and/or links/busses. Included in the communication system 1033 circuitry is the medium access control or MAC Circuitry. MAC circuitry provides for controlling access to the wireless medium. In an exemplary embodiment, the MAC circuitry may be arranged to contend for the wireless medium and configure frames or packets for communicating over the wireless medium.

The computer system 1000 can also optionally contain a security module (not shown). This security module can contain information regarding but not limited to, security parameters required to connect the device to one or more other devices or other available network(s), and can include WEP or WPA/WPA-2 (optionally+AES and/or TKIP) security access keys, network keys, etc. The WEP security access key is a security password used by Wi-Fi networks. Knowledge of this code can enable a wireless device to exchange information with an access point and/or another device. The information exchange can occur through encoded messages with the WEP access code often being chosen by the network administrator. WPA is an added security standard that is also used in conjunction with network connectivity with stronger encryption than WEP. The computer system 1000 also includes a Wi-Fi/BT/BLE PHY module and a Wi-Fi/BT/BLE MAC module and wireless transmitter and receiver.

The various connectivity managers manage and/or coordinate communications between the computer system 1000 and one or more of the systems disclosed herein and one or more other devices/systems. The connectivity managers include an charging connectivity manager, a database connectivity manager, a remote operating system connectivity manager, a sensor connectivity manager, etc.

The database connectivity manager allows the computer system 1000 to receive and/or share information stored in a database. This information can be shared with other components/subsystems and/or other entities, such as third parties. The information can also be shared with one or more devices, such as an app on a mobile device the client uses to track information about the LTU 300. In general, any information stored in the database can optionally be shared with any one or more other devices optionally subject to any privacy or confidentially restrictions.

The remote operating system connectivity manager facilitates communications between the LTU 300 and any one or more other systems. These communications can include one or more of navigation information, operational information, sensor information, or in general any information related to the operation of the LTU 300.

The sensor connectivity manager facilitates communications between any one or more of the sensors 1043 and any one or more of the other systems. The sensor connectivity manager can also facilitate communications between any one or more of the sensors 1043 and/or connected systems and any other destination, such as a third-party 140, app, or in general to any destination where sensor data is needed.

The communications subsystem can also optionally manage one or more identifiers, such as an IP (internet protocol) address(es), associated with the LTU 300 and one or other system or subsystems or components therein. These identifiers can be used in conjunction with any one or more of the connectivity managers as discussed herein.

The navigation sensor 1051 may include one or more sensors having receivers and antennas that are configured to utilize a satellite-based navigation system including a network of navigation satellites capable of providing geolocation and time information to at least one component of the computer system 1000. Examples of the navigation sensor 1051, as described herein, may include, but are not limited to, at least one of Garmin® GLO™ family of GPS and GLONASS combination sensors, Garmin® GPS 15x™ family of sensors, Garmin® GPS 16x™ family of sensors with high-sensitivity receiver and antenna, Garmin® GPS 18x OEM family of high-sensitivity GPS sensors, Dewetron DEWE-VGPS series of GPS sensors, GlobalSat 1-Hz series of GPS sensors, other industry-equivalent navigation sensors and/or systems, and may perform navigational and/or geolocation functions using any known or future-developed standard and/or architecture. Other positioning sensors 1051 sensors may be used with other types of satellite systems, for example, a global navigation satellite system (GNSS) similar, if not identical, to NAVSTAR GPS, GLONASS, EU Galileo, and/or the BeiDou Navigation Satellite System (BDS) to name a few.

The sensors 1043 may include one or more of, but is not limited to, an orientation sensor, an odometry sensor, an infrared (IR) sensor, a motion sensor, a vibration or shock sensor, an environmental sensor, and/or other sensors or sensor systems. Some sensor group or types may comprise sensors configured to collect data relating to the environment around the LTU 300. Examples of environmental sensors may include, but are not limited to, oxygen/air sensors, temperature sensors, humidity sensors, light/photo sensors, pressure sensors, and more. The oxygen/air sensors may be configured to detect a quality or presence of the air at the LTU location (e.g., ratios and/or types of gasses comprising the air, dangerous gas levels, safe gas levels, etc.). Temperature sensors may be configured to detect temperature readings surrounding the LTU 300 or of the LTU 300. Humidity sensors may detect an amount of water vapor or water present in or around the LTU 300. The light/photo sensors can detect an amount of light present in around the LTU 300. Further, the light/photo sensors may be configured to detect various levels of light intensity associated with light around the LTU 300. Thus, the LTU 300 can determine if it is outside or inside a building, structure, and/or container. The pressure sensor can determine a barometric pressure or changes thereto. As such, the LTU 300 can determine changes in elevation or weather conditions effecting the LTU 300. In other configurations, the pressure sensor can also measure rapid increases or decreases in pressure caused by explosions, loss of cabin pressure in a airplane, submersion, etc.

Examples of other sensors may include, but are not limited to, infrared sensors, motion sensors, wireless network sensors, camera (or image) sensors, audio sensors, and more. IR sensors may be used to measure IR light irradiating from at least one surface or another object around the LTU 300.

Among other things, the IR sensors may be used to measure temperatures, form images (especially in low light conditions), and even detect motion around the LTU 300. The motion sensors may be similar to motion detectors. The infrared (IR) sensors may include one or more components configured to detect image information associated with an environment of the LTU 300. The IR sensors may be configured to detect targets in low-light, dark, or poorly-lit environments. The IR sensors may include an IR light emitting element (e.g., IR light emitting diode (LED), etc.) and an IR photodiode. In some embodiments, the IR photodiode may be configured to detect returned IR light at or about the same wavelength to that emitted by the IR light emitting element. In some embodiments, the IR sensors may include at least one processor configured to interpret the returned IR light and determine locational properties of targets. The IR sensors may be configured to detect and/or measure a temperature associated with a target (e.g., an object, pedestrian, other vehicle, etc.). Examples of IR sensors as described herein may include, but are not limited to, at least one of Opto Diode lead-salt IR array sensors, Opto Diode OD-850 Near-IR LED sensors, Opto Diode SA/SHA727 steady state IR emitters and IR detectors, FLIR® LS microbolometer sensors, FLIR® TacFLIR 380-HD InSb MWIR FPA and HD MWIR thermal sensors, FLIR® VOx 640×480 pixel detector sensors, Delphi IR sensors, other industry-equivalent IR sensors and/or systems, and may perform IR visual target and/or obstacle detection in an environment around the LTU 300 using any known or future-developed standard and/or architecture.

The LTU 300 may include a wireless network sensor. This sensor may be configured to detect one or more wireless network(s) around the LTU 300. Examples of wireless networks may include, but are not limited to, wireless communications utilizing Bluetooth®, Wi-Fi™ ZigBee, IEEE 802.11, and other wireless technology standards. For example, a mobile hotspot may be detected around the LTU 300 via the wireless network sensor 752. In this case, the LTU 300 may determine to utilize the mobile hotspot detected via/with one or more other devices 1033, 1049 and/or components associated with the LTU 300.

The camera sensors may be image sensors or image/video capture technologies. Optionally, the camera sensors may record still images, video, and/or combinations thereof. The audio sensors may be configured to receive audio input from around the LTU 300. The audio input may correspond to voice commands, conversations detected around the LTU 300, phone calls made around the LTU 300, and/or other audible expressions made around the LTU 300. Further, the audio sensors can record ambient sound around the LTU 300 to determine other environment information.

The sensors may also include force sensors to detect a force observed on the LTU 300. One example of a force sensor may include a force transducer that converts measured forces (e.g., force, weight, pressure, etc.) into output signals. Further, mechanical motion sensors can be included and may correspond to encoders, accelerometers, damped masses, and the like. Optionally, the mechanical motion sensors may be adapted to measure the force of gravity (i.e., G-force) as observed on the LTU 300. Measuring the G-force observed on the LTU 300 can provide valuable information related to a LTU's acceleration, deceleration, collisions, and/or forces that may have been suffered by the LTU 300.

Other sensors can include orientation sensors, which can include accelerometers, gyroscopes, magnetic sensors, and the like that are configured to detect an orientation associated with the LTU 300 relative to at least one reference point. In some embodiments, the orientation sensor may include at least one pressure transducer, stress/strain gauge, accelerometer, gyroscope, and/or geomagnetic sensor.

Optionally, the sensors may be configured to collect data relating to one or more conditions, objects, vehicles, and other events that are external to the LTU 300. For instance, the force sensors may detect and/or record force information associated with the outside of a LTU 300. For instance, if an object strikes the exterior of the LTU 300, the force sensors may determine a magnitude, location, and/or time associated with the strike.

The odometry sensor and/or system may include one or more components that is configured to determine a change in position of the LTU 300 over time. In some embodiments, the odometry system may utilize data from one or more other sensors and/or systems in determining a position (e.g., distance, location, etc.) of the LTU 300 relative to a previously measured position for the LTU 300. Additionally or alternatively, the odometry sensors may include one or more encoders, Hall speed sensors, and/or other measurement sensors/devices configured to measure a wheel speed, rotation, and/or number of revolutions made over time. Examples of the odometry sensor/system as described herein may include, but are not limited to, at least one of Infineon TLE4924/26/27/28C high-performance speed sensors, Infineon TL4941plusC(B) single chip differential Hall wheel-speed sensors, Infineon TL5041plusC Giant Mangnetoresistance (GMR) effect sensors, Infineon TL family of magnetic sensors, EPC Model 25SP Accu-CoderPro™ incremental shaft encoders, EPC Model 30M compact incremental encoders with advanced magnetic sensing and signal processing technology, EPC Model 925 absolute shaft encoders, EPC Model 958 absolute shaft encoders, EPC Model MA36S/MA63S/SA36S absolute shaft encoders, Dynapar™ F18 commutating optical encoder, Dynapar™ HS35R family of phased array encoder sensors, other industry-equivalent odometry sensors and/or systems, and may perform change in position detection and/or determination functions using any known or future-developed standard and/or architecture.

In some embodiments, the sensors and systems 304 may include other sensors 1043 and/or combinations of the sensors described above. Additionally or alternatively, one or more of the sensors 1043 described above may include one or more processors configured to process and/or interpret signals detected by the one or more sensors 1043. In some embodiments, the processing of at least some sensor information provided by the sensors and systems 1043 may be processed by at least one sensor processor 1043. Raw and/or processed sensor data may be stored in a sensor data memory storage medium 1037. In some embodiments, the sensor data memory may store instructions used by the sensor processor for processing sensor information provided by the sensors and systems 1043. In any event, the sensor data memory may be a disk drive, optical storage device, solid-state storage device such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable, and/or the like.

The processor 1023 may receive processed sensor information from the sensor processor and determine to control an aspect of the LTU 300. Controlling an aspect of the LTU 300 may include communicating or presenting information via a communication system 1033 or output 1027 (e.g., illuminating an light emitting diode (LED)). In this example, the processor 1023 may receive sensor data describing an environment surrounding the LTU 300 and, based on the sensor data received, determine to adjust the performance of the LTU 300.

The processor 1023 may communicate, in real-time, with the sensors and systems 1043 forming a feedback loop. In particular, upon receiving sensor information describing a condition in the environment surrounding the LTU 300, the processor 1023 may autonomously make changes to an operation of the LTU 300. The processor 1023 may then receive subsequent sensor information describing any change to the condition of the environment. This continual cycle of observation (e.g., via the sensors, etc.) and action (e.g., selected control or non-control of operations, etc.) allows the LTU 300 to operate autonomously in the environment.

In some embodiments, the processor 1023 may receive control information from one or more control sources. The control source may provide a command(s) and/or control information including operational commands, operation override control commands, and the like. The control source may correspond to an LTU server 132, a traffic control system, an administrative control entity, and/or some other controlling server. It is an aspect of the present disclosure that the processor 1023 and/or other components of the LTU 300 may exchange communications with the control source across the communication network 136 and via the communications subsystem 1033.

Information associated with controlling the LTU 300 may be stored in a control data memory 1037 storage medium. The control data memory 1037 may store instructions used by the processor 1023 for controlling the LTU 300, historical control information, control rules, and the like. In some embodiments, the control data memory 1037 may be a disk drive, optical storage device, solid-state storage device such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable, and/or the like.

In addition to the mechanical components described herein, the LTU 300 may include a number of user interface devices. The user interface devices receive and translate input into a mechanical movement or electrical signal or stimulus. The input may be one or more of motion, voice, touch, and/or physical interaction with the components of the LTU 300. In some embodiments, the input may be configured to control one or more functions of the LTU 300 and/or systems of the LTU 300 described herein. User interfaces may include, but are in no way limited to, at least one graphical user interface of a display device, a touch mechanism, power control switch, communications equipment, etc.

An embodiment of the electrical system associated with the LTU 300 can include a power source(s) that generates power, power storage that stores power 1055, and/or load(s) that consume power. Power storage may be associated with a power storage system 1055. The electrical system may be managed by a power management controller (PMC). Further, the electrical system can include one or more other interfaces or controllers.

The power management controller can be a computer, computing system(s), software, and/or electrical system with associated components, as described herein, capable of managing the functions to receive power, routing the power to the power storage (e.g., battery 1055), and then providing the power from the battery 1055 to the loads. Thus, the power management controller may execute programming that controls switches, devices, components, etc. involved in the reception, storage, and provision of the power in the electrical system.

The battery 1055 can be any type of battery for storing electrical energy, for example, a lithium ion battery, a lead acid battery, a nickel cadmium battery, etc. Further, the battery 1055 may include different types of power storage systems, such as, ionic fluids or other types of fuel cell systems. The battery 1055 may also include one or more high-capacity capacitors. The capacitors may be used for long-term or short-term storage of electrical energy. The input into the battery 1055 may be different from the output, and thus, the capacitor may be charged quickly but drain slowly. The functioning of any converter, battery capacitor, etc. may be monitored or managed by the PMC. Further, the battery 1055 may be electrically connected to a charge port 21057, which can be any physical connector, that connects to an outside source of power (an electrical distribution system) to charge the battery 1055.

LTU Software:

An embodiment of software 1100/1200 that may function on the processor 1023 may be as shown in FIG. 11 and/or FIG. 12. While the components in FIGS. 11 and 12 are described as software, the functions described can be embodied as gates in an ASIC, FPGA, or other processor. As such, the software functions 1100/1200 may be embodied as hardware in some configurations. The software can include one or more of, but is not limited to: a modem service 1144, an operating system (LINUX kernel 1160), a recovery function 1148, a Firmware Over-The-Air (FOTA) client 1152, a factory function 1156, an LED function 1264, a GPS function 1268, a sensor function 1272, and/or a main task (cloud mode control) function 1276. In some configurations, the software/hardware 1100 may function on a physical separate processor 11233 from the hardware/software 1200. In other configurations, the hardware/software 1100, 1200 execute on a single processor but in separate partitions.

The modem server 1144 can include various functionality. For example, the modem functionality 114 can include one or more of, but is not limited to: a file system 1104, a log 1108, a parallel optical interface (POI) 1112, 1116, a modem 1120, a data function 1124, a battery function 1128, a power management (PM) function 1132, a MUX12/DEMUX 1236, and/or a HDLC 1240. These various functions will be explained hereinafter.

The file system 1104 can be any file system or filesystem that is used to control how data is stored and retrieved. The file system 1104 separates the data into pieces and gives each piece a name, the information is easily isolated and identified. The file system 1104 includes a structure and logic rules used to manage the groups of information and the names of the information. An example file system 1104 can be the Apache Hadoop File System, the Microsoft Resilient File System, and/or Apple's Hierarchical File System. Any file system can be used for file system 1104 to organize the LTU sensor data or other information.

A log 1108 can include any data sequentially stored by the LTU 300. The log 1108 may also include a data logger, which is an electronic device that records data over time or in relation to location either with a built-in instrument or sensor or via external instruments and sensors. The data logger 1108 may be based on a digital processor (or computer). They data logger 1108 can be battery powered and equipped with a microprocessor, internal memory for data storage, and sensors. Some embodiments of the data logger 1108 can interface with a personal computer, and use software to activate the data logger 1108 and view and analyze the collected data, while others have a local interface device and can be used as a stand-alone device.

The data logger 1108 may vary between general purpose types for a range of measurement applications to very specific devices for measuring in one environment or application type only. It is common for general purpose types to be programmable; however, many remain as static machines with only a limited number or no changeable parameters. One of the primary benefits of using data loggers is the ability to automatically collect data on a 24-hour basis. Upon activation, data loggers are typically deployed and left unattended to measure and record information for the duration of the monitoring period. This autonomy allows for a comprehensive, accurate picture of the environmental conditions being monitored, such as air temperature and relative humidity.

A POI 1112, 1116 is a form of fiber optic technology aimed primarily at communications and networking over relatively short distances (less than 300 meters), and at high bandwidths. Parallel optic interfaces 1112, 1116 differ from traditional fiber optic communication in that data is simultaneously transmitted and received over multiple fibers. Different methods exist for splitting the data over this high bandwidth link. In the simplest form, the parallel optic link is a replacement for many serial data communication links. In the more typical application, one byte of information is split up into bits and each bit is coded and sent across the individual fibers. There may be two forms of commercially available products for POIs 1112, 1116. The first is a twelve-channel system consisting of an optical transmitter 1112 and an optical receiver 1116. The second is a four-channel transceiver product that is capable of transmitting four channels 1112 and receiving four channels 1116 in one product. Parallel optics is often the most cost effective solution for getting 40 Gigabit per second transmission of data over distances exceeding 100 meters

A modem 1120 (modulator-demodulator) can be any network hardware/software that modulates one or more carrier wave signals to encode digital information for transmission and demodulates signals to decode the transmitted information. Modems can be used with any means of transmitting analog signals, from light emitting diodes to radio frequency signals. A common type of modem 1120 is one that turns the digital data of a computer into modulated electrical signal for transmission over telephone lines and demodulated by another modem at the receiver side to recover the digital data.

Data function 1124 is any software that stores, retrieves, or manages data. The LTU 300 can store sensor, position, or other information in working memory 1037, in a storage media 1031, or in a storage device 1029. The information may be managed by the data function 1124, which can include any type of file system controller or database controller.

The battery function 1128 can send information about the battery 1055 and/or receive commands to manage the battery 1055. Thus, the information about the battery function 1128 can include an amount of charge, battery status. The commands received by the battery function 1128 can manage the charging of the battery through the port 1057, signal the processor 1023 that a charge is needed when the battery 1055 reaches some threshold, etc. Any required commands to maintain battery charge, charge the battery, or use the battery may be sent by the battery function 1128 to the Battery function 1168.

A power management (PM) function 1132 can be any feature that receives commands to manage power to the LTU 300. For example, the PM 1132 can receive commands to turn off the power or switch the LTU 300 to a low-power state when inactive or while charging. Further, the PM 1132 can receive commands to manage how different other components, e.g., the sensors 1043, communications system 1033, etc. use or are allotted power. Thus, the commands received by the PM 1132 can control switches or other componentry to change power allocation. Further, the PM 1132 can receive power savings commands from the LTU server 132 to command the PMIC 1164 to change power functions, which may be sent to the PMIC function 1164.

A MUX/DEMUX 1136 can be any hardware/software that selects one of several analog or digital input signals and forwards the selected input into a single line. A multiplexer of 2n inputs has n select lines, which are used to select which input line to send to the output. MUX/DEMUX 1136 can be used to increase the amount of data that can be sent over the network within a certain amount of time and bandwidth. A MUX/DEMUX 1136 is also called a data selector. The MUX/DEMUX 1136 makes it possible for several signals to share one device or resource, for example one A/D converter or one communication line, instead of having one device per input signal. Conversely, the demultiplexer (or DEMUX) 1136 is any hardware/software taking a single input signal and selecting one of many data-output-lines, which is connected to the single input. A DEMUX 1136 is a single-input, multiple-output switch.

A High-Level Data Link Control (HDLC) 1240 may be any hardware/software that provides a bit-oriented code-transparent synchronous data link layer protocol function developed by the International Organization for Standardization (ISO). The current standard for HDLC is ISO 13239, which is incorporated by reference herein for all that it teaches and for all purposes. The HDLC 1240 provides both connection-oriented and connectionless service. In some configurations, the HDLC 1240 can be used for point to multipoint connections, but also to connect one device to another, using what is known as Asynchronous Balanced Mode (ABM). The master-slave modes Normal Response Mode (NRM) and Asynchronous Response Mode (ARM) may also be used.

The Linux Kernel 1160 can incorporate various operating system functions and include a power management integrated circuit (PMIC) function 1164, a battery (Batt) management function 1168, and/or a universal asynchronous receiver/transmitter (UART) function 1172. The operating system (OS) functions manage computer hardware and software resources and provides common services for computer programs. All computer programs, excluding firmware, require an operating system to function. The OS schedules tasks of various operations or programs for efficient use of the system 1000. For hardware functions, such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware. The Linux Kernel is a type of OS, but another OS may be used in the LTU 300.

The power management integrated circuits (PMIC) 1164 can be any hardware/software for managing power requirements of the LTU 300. Thus, the PMIC 1164 can include some form of electronic power conversion and/or relevant power control functions. A PMIC 1164 can decrease the amount of space required to manage the electrical systems and/or battery function 1168. The PMIC 1164 may be responsive to commands received by the PM 1132 and may sent information to the PM 1132 for transmission to the LTU server 132. The Batt 1168 can control the battery state or function of the battery 1055. In some configurations, based on commands from the battery function 1128, the OS 1160 batt 1168 may manage or control the functioning of the battery 1055.

The UART 1172 can be a computer hardware device or software for asynchronous serial communication in which the data format and transmission speeds are configurable. The electric signaling levels and methods (such as differential signaling, etc.) may be handled by a driver circuit external to the UART 1172. The UART 1172 can be used in conjunction with communication standards such as TIA (formerly EIA) RS-232, RS-422 or RS-485. A UART 1172 may be an individual (or part of an) integrated circuit (IC) used for serial communications over a computer or peripheral device serial port. The UART 1172 may be included with the processor 1123.

The recovery function 1148 can return the LTU 300 settings to a previous version. As such, the recovery function 1148 may store LTU 300 settings and change those settings as required by LTU commands or other inputs. Different versions of the settings may be maintained and stored with version identifiers that can be retrieved or provided to the modem service 114 to send to the LTU server 132 or output to another output. A command can be received, from the LTU server 132 through the modem service 114, that instructs the recovery function 1148 to return the settings to an earlier version. The recovery function 1148 may then make those changes to the settings. The recovery function 1148 may also provide any information to the modem service 114 to allow the physical recovery of the LTU 300. In this configuration, the modem service 114 provides shipping information to a user to send the LTU 300 to a destination. In other situations, the recovery function 1148 may send a signal to the LTU server 132 providing a location of the LTU 300, such that a user can retrieve the LTU 300.

The FOTA 1152 refers to various functions for receiving new software, configuration settings, and even updating encryption keys distributed from the LTU server 132 or another device. One important feature of FOTA 1152 is that a single LTU server 132 can send an update to all the LTUs 300, who are unable to refuse, defeat, or alter that update, and that the update applies immediately to everyone on the channel. In the context of the mobile content, FOTA 1152 may include over-the-air service provisioning (OTASP), over-the-air provisioning (OTAP) or over-the-air parameter administration (OTAPA), or provisioning LTUs 300 with the necessary settings with which to access services. As LTUs 300 accumulate new applications and become more advanced, LTU configuration can become increasingly important as new updates and services develop. FOTA 1152 via SMS optimizes the configuration data updates in SIM cards and enables the distribution of new software updates to LTUs 300 with the necessary settings with which to access services such as WAP or MMS. FOTA 1152 messaging may provide remote control of LTUs 300 for service and subscription activation, personalization and programming of a new service for mobile operators and third parties.

Factory 1156 can return the LTU 300 settings to a factory version. As such, the factory function 1156 may store a first or primary version of the LTU 300 settings. This primary version may be retrieved or provided to the modem service 114 to send to the LTU server 132 or output to another output. A command can be received, from the LTU server 132 through the modem service 114, that instructs the factory function 1156 to return the LTU 300 to factory settings. The factory function 1156 may then make those changes to the settings. The factory function 1156 may also provide any information to the modem service 114 to allow the physical recovery of the LTU 300. In this configuration, the factory function 1156 provides shipping information to a user to send the LTU 300 to a LTU factory or distributor. In other situations, the factory function 1156 may send a signal to the LTU server 132 providing a location of the LTU 300, such that a user can retrieve the LTU 300. Thus, the factory function 1156 can provide quick retrieval of all LTUs 300 in the event of a recall or other event.

A light-emitting diode (LED) function 1264 can be a LED circuit or LED driver that powers a LED. The circuit or function 1264 can provide sufficient current to light the LED at the required brightness, and may limit the current to prevent damaging the LED. The voltage drop across an LED is approximately constant over a wide range of operating current; therefore, a small increase in applied voltage greatly increases the current. Very simple circuits can be used for low-power indicator LEDs.

Sensor function 1272 may be a sensor interface, for example, the Simple Sensor Interface (SSI) protocol, which can include any simple communications protocol designed for data transfer between the processor 1023 and the sensors 1043. The SSI protocol, for example, is an Application layer protocol as in the OSI model. The SSI protocol has been developed jointly by Nokia, Vaisala, Suunto, Ionific, Mermit and University of Oulu. The SSI protocol can be used in point-to-point communications over UART 1172. SSI can also provide polling sensors and streaming sensor data. Sample implementation of the SSI protocol for MSP430 microcontrollers has been published in 2006 by Nokia.

The GPS function 1268 can include any drivers and/or receivers that can receive positioning information. The GPS function 1268 can relay position data to the processor 1023 using the NMEA 0183 protocol. Other proprietary protocols exist as well, such as the SiRF and MTK protocols. Receivers can interface with other devices using methods including a serial connection, USB, Bluetooth®.

LTU Server Software:

The software/hardware associated with the LTU Server 132 may be as shown in FIG. 13. The LTU server 132 can manage the reception of data from several LTUs 300 and provision the data to clients 140. Each LTU 300 may be associated with a particular third-party 140, and thus, the LTU server 132 can ensure the received data is sent to the correct third-party 140. Further, the LTU server 132 can command the various LTUs 300 based on input from the third parties 140 or based on operational situations. The LTU server 132 can include one or more of, but is not limited to: one or more queues 1312, middleware 1320, tracking procession 1328, a database 1356, a load balance 1336, an application programming interface (API)/page view 1340, and/or authentication 1348.

The queue 1312 can be a kind of abstract data type or collection stored in working memory 1037 in which the entities in the collection are kept in order and the principal (or only) operations on the collection are the addition of entities to the rear terminal position, known as enqueue, and removal of entities from the front terminal position, known as dequeue. This makes the queue a First-In-First-Out (FIFO) data structure. In a FIFO data structure, the first element added to the queue will be the first one to be removed. This data structure is equivalent to the requirement that once a new element is added, all elements that were added before have to be removed before the new element can be removed. Often a peek or front operation is also entered, returning the value of the front element without dequeuing it. A queue is an example of a linear data structure, or more abstractly a sequential collection.

Queues 1312 allow data, objects, persons, commands, events, etc. to be stored and held to be processed later. In these contexts, the queue 1312 performs the function of a buffer. The queue 1312 can be implemented as data structures coupled with access routines, as an abstract data structure or in object-oriented languages as classes. Common implementations are circular buffers and linked lists.

The queue 1312 may have two or more instances 1314 through 1316 c. As used herein, an instance can be a concrete occurrence of any object or code, existing usually during the runtime of a computer program. The queue 1312 can have a first instance 1314 to receive data from one or more LTUs 300 in an LTU group 1304. An LTU group 1304 can include all LTUs 300 or some subset of LTUs 300 organized based on a characteristic(s), e.g., a customer identity. The data may be queued to allow for provision to the middleware 1320 for further processing. Queueing the received data allows for provision to the middleware 1320 at a time coordinated with the middleware 1320.

The queue 1312 can have one of more other instances of queues 1316 a-1316 c, which each queue 1316 may be associated with a particular and/or predetermined LTU 1308 a-1308 c. The queues 1316 can queue commands to be sent to the LTUs 1308. Commands need to be queued as the LTU 1308 may not be able to communicate in some situations, e.g., the LTU 300 is out of cellular or wireless range/coverage. AS such, the queue 1316 can receive a command from the middleware 1320 and hold the command until contact with the LTU 1304 is established and the command(s) in the queue 1316 can be sent.

Middleware 1320 can include the software that provides services to software applications in the tracking processing 1328 beyond those available from the operating system. The middleware 1320 allows development or implementation of communication and input/output changes to occur with changing the purpose or performance of tracking processing 1328. Middleware 1320 can also include web servers, application servers, content management systems, and similar tools that support application development and delivery. An example of at least some of the functions that may be performed by an instance of the middleware 1320 may be as shown in FIG. 15. The middleware 1320 can be deployed as one or more instances 1324 a-1324 c that may be associated with a particular and/or predetermined LTU 1308 and/or customer 140.

Tracking Processing 1328 can include application processing including business processes or other functions. Tracking processing 1328 can include related, structured activities or tasks that produce a specific service or product (serve a particular goal) for a particular customer or customers regarding tracking of assets with the LTU 300. As with the middleware 1320, the tracking processing 1328 can be deployed as one or more instances 1332 a-1332 c that may be associated with a particular and/or predetermined LTU 1308 and/or customer 140. An example of at least some of the functions that may be performed by an instance of the tracking processing 1328 may be as shown in FIG. 16.

Database 1356 can include any database storage or database access service. Thus, the database 1356 can include object-oriented databases, flat file databases, relational databases, or another type of database. In some situations, the database 1356 may be a database developed in SQL or other language or protocol. Regardless, the database 1356 can also include a database manager that can retrieve, store, or manage the data within the database. As with the middleware 1320 and the tracking processing 1328, the database 1356 can be deployed as one or more instances 1356 a-1356 c that may be associated with a particular and/or predetermined LTU 1308 and/or customer 140. Databases are well known and need not be described further herein; however, examples of data that may be stored within the database 1356 may be as provided in the description of FIG. 17.

The third-party software 140 can be a client that accesses a service made available by a the LTU server 132. The server 132 may be accessed by way of a network 136. A client can be a computer program that, as part of its operation, relies on sending a request to another computer program (e.g., the LTU server 132). For example, a web browser at the third-party computer 140 can connect to an API/page view service 1340 and retrieve web pages for display at the third-party device 140. The web pages can include LTU data about assets associated with the third-party. Further, the third-party device 140 may be pushed LTU information depending on the configuration of the LTU server 132 and/or third-party device 140.

The load balance function 1336 can improve the distribution of workloads across multiple computing resources, such as the API/page view function 1340 and/or the authentication processing 1348. Load balancing 1336 aims to optimize resource use, maximize throughput, minimize response time, and avoid overload of any single resource. Using multiple components with load balancing 1336 instead of a single component may increase reliability and availability through redundancy. Load balancing 1336 can include dedicated software and/or hardware, such as a multilayer switch or a Domain Name System server process, to accomplish the load balancing. Generally, the load balance 1336 can distribute tasks across the multiple instances 1344, 1352 of the API 1340 and/or authentication functions 1348

The API/Page View 1340 can be any set of subroutine definitions, protocols, and tools for building application software. In general terms, the API/Page View 1340 is a set of clearly defined methods of communication between various software components. The API/Page View 1340 allows for development of the third-party software 140 and/or tracking processing 1328 by providing all the building blocks, which are then put together by the programmer. The API/Page View 1340 may be a web-based system, operating system, database system, computer hardware or software library. The API/Page View 1340 can take many forms, but often includes specifications for routines, data structures, object classes, variables or remote calls. POSIX, Microsoft Windows API, the C++ Standard Template Library, and Java APIs are examples of different forms of the API/Page View 1340. Further, the API/Page View 1340 can provide LTU information to the client 140 in pages or through pushing data to the client 140. As with the middleware 1320, the tracking processing 1328, and/or the database 1356, the API/Page View 1340 can be deployed as one or more instances 1344 a-134 c that may be associated with a particular and/or predetermined LTU 1308 and/or customer 140.

Authentication 1348 can be any hardware/software capable of confirming the truth of an attribute of a single piece of data (a datum) claimed true by an entity. Authentication 1348 is a process that confirms the identity of the client 140 and begins to establish the connection between the client 140 and the tracking processing functions 1328. Authentication 1348 might involve confirming the identity of a third-party 140 by verifying the authenticity of a website with a digital certificate, receiving and verifying a token or other security instrument, etc. In other words, authentication often involves verifying the validity of at least one form of identification.

As the weakest level of authentication, only a single component from one of the three categories of factors is used to authenticate. The use of only one factor does not offer much protection from misuse or malicious intrusion. When elements representing two factors are required for authentication, the term two-factor authentication is applied—e.g., the LTU server 132 can require users 140 to provide a password (knowledge factor) and a pseudorandom number from a security token (ownership factor). Multi-factor authentication can instead use more than two factors, e.g., multiple authentication factors are used to enhance security of an interaction in comparison to the two-factor authentication process.

The term digital authentication refers to a group of processes where the confidence for user identities is established and presented via electronic methods to an information system. It is also referred to as e-authentication. Digital authentication can include enrollment—an individual applies to a credential service provider (CSP) to initiate the enrollment process. After successfully proving the applicant's identity, the CSP allows the applicant to become a subscriber; authentication—after becoming a subscriber, the user receives an authenticator e.g., a token and credentials, such as a user name (the third-party 140 is then permitted to perform online transactions within an authenticated session with a relying party, where they must provide proof that the third-party 140 possesses one or more authenticators); and/or life-cycle maintenance—the CSP is charged with the task of maintaining the third-party's credential of the course of its lifetime, while the subscriber is responsible for maintaining his or her authenticator(s). As with the middleware 1320, the tracking processing 1328, API/Page View 1340, the authentication functions 1348 can be deployed as one or more instances 1352 a-1352 c that may be associated with a particular and/or predetermined LTU 1308 and/or customer 140. An example of at least some of the functions that may be performed by an instance of the authentication functions 1348 may be as shown in FIG. 14.

Authentication Software:

An example of functions performed by the authentication software 1348 may be as shown in FIG. 14. The functions can include an authentication interface 1404 (that receives or sends communications to the third party 140 during the authentication processing), an authentication page view 1408, a validation function 1412, an encryption function 1416, a security token manager 1420, and/or and API interface 1424 (that sends or receives communications from/to the API/Page View 1340).

The authentication page view 1408 can be a LTU server 132 function to script pages or information to the user 140. The information encompasses required input or outputs used for the development of a secret or other authentication functions. Thus, the authentication page view 1408 produces the interface used to authenticate the user 140.

Validation 1412 includes any process of ensuring that a program operates on clean, correct and useful data set. Validation 1412 can use routines, often called “validation rules” “validation constraints” or “check routines”, that check for correctness, meaningfulness, and security of data that are input from the third-party system 140 and/or output to from the LTU server 132. The rules may be implemented through the automated facilities of a data dictionary, or by the inclusion of explicit application program validation logic.

Encryption 1416 can include any process of encoding and/or decoding a message or information in such a way that only authorized parties can access the content of the message. Encryption does not of itself prevent interference, but denies the intelligible content to a would-be interceptor. In an encryption scheme, the intended information or message, referred to as plaintext, is encrypted using an encryption algorithm, generating ciphertext that can only be read if decrypted. For technical reasons, an encryption scheme can use a pseudo-random encryption key generated by an algorithm. It is in principle possible to decrypt the message without possessing the key, but, for a well-designed encryption scheme, considerable computational resources and skills are required. An authorized recipient can easily decrypt the message with the key provided by the LTU server 132 to the third-party system 140 but not to unauthorized users.

An example of an encryption type are public-key encryption schemes where the encryption key is published for anyone to use and encrypt messages. However, only the receiving party has access to the decryption key that enables messages to be read. A publicly available public key encryption application called Pretty Good Privacy (PGP) was written in 1991 by Phil Zimmermann, and distributed free of charge with source code; it was purchased by Symantec in 2010 and is regularly updated and may be used for encryption 1416.

A security token manager 1420 can be any hardware/software that is used to gain access to an electronically restricted resource. The token is used in addition to or in place of a password. It acts like an electronic key to access LTU information. Some tokens may store cryptographic keys, such as a digital signature. The security token manager 1420 can be a security token service (STS), which is a software based identity provider responsible for issuing security tokens as part of a claims-based identity system. In a typical usage scenario, a client 140 requests access to a secure software application in tracking processing 1328. Instead of the application authenticating the client 140, the client 140 is redirected to a security token manager 1420. The authentication 1408 authenticates the client 140 and instructs the security token manager 1420 to issue a security token. Finally, the client 140 is redirected back to the API/Page View 1340 where it presents the security token. The token is the data record in which claims are packed, and is protected from manipulation with strong cryptography. The API/Page View 1340 or other software can verify that the token originated from the security token manager 1420 trusted by it, and then makes authorization decisions accordingly. The token is creating a chain of trust between the security token manager 1420 and the software application consuming the claims. This process is illustrated in the Security Assertion Markup Language (SAML) use case, demonstrating how single sign-on can be used to access web services.

Security token services can be offered as web services, through the use of application programming interfaces (APIs), or for native applications in conjunction with software development kits (SDKs). Broadly speaking, there are three types of Secure Token Services: IP-STS (Identity Provider Secure Token Service): authenticates clients directly; FS-STS (Federated Provider STS); and RP-STS (Relying Party Secure Token Service), which delegates client authentication.

Middleware Software:

An example of functions performed by the middleware software 1320 may be as shown in FIG. 15. The functions can include an LTU information receiver 1504 (that receives communications from an LTU information queue 1314), an information converter 1508, a database interface 1512, and/or a command converter 1516.

The information converter 1508 can convert LTU information data from one format received by the queues 1316 to another format that can be processes by the tracing processing functions 1332. Throughout the LTU 900 environment, LTU data may be encoded in a variety of ways. The operating system 1628 is predicated on certain standards for data and file handling. Furthermore, each LTU program can handle data in a different manner. Whenever any one of these variables is changed, data is converted in some way before the data can be used by a different computer, operating system, and/or program. Even different versions of these elements usually involve different data structures. For example, the changing of bits from one format to another, usually for the purpose of application interoperability or of capability of using new features, is merely a data conversion. Data conversions may be as simple as the conversion of a text file from one character encoding system to another; or more complex, such as the conversion of file formats.

There are many ways in which data is converted within the computer environment. The conversion 1508 may require processing by the use of a special conversion program, or it may involve a complex process of going through intermediary stages, or involving complex “exporting” and “importing” procedures, which may include converting to and from a tab-delimited or comma-separated text file, etc. In some cases, the converter 1508 may recognize several data file formats at the data input stage and then is also capable of storing the output data in a number of different formats. The converter 1508 may be used to convert a file format. If the source format or target format is not recognized, then at times a third program may be available which permits the conversion to an intermediate format, which can then be reformatted using the first program. There are many possible scenarios. Regardless, the converter 1508 converts information from the LTUs 300 into a usable form for the tracking processing 1328. It should be noted that the command converter 1516 may function similarly but convert commands from the tracking processing 1328 into a format understood by the LTUs 1308 before send the converted commands to queue 1316.

The database interface 1512 can manage an organized collection of data, for example, database 1356. The database interface 1512 may be a database management system (DBMS), which is a computer software application that interacts with other applications and the database itself to capture and analyze data. A general-purpose DBMS is designed to allow the definition, creation, querying, update, and administration of databases. Well-known DBMSs include MySQL, PostgreSQL, MongoDB, MariaDB, Microsoft SQL Server, Oracle, Sybase, SAP HANA, MemSQL and IBM DB2. A database is not generally portable across different DBMSs, but different DBMS can interoperate by using standards such as SQL and ODBC or JDBC to allow a single application to work with more than one DBMS. Database management systems are often classified according to the database model that they support; the most popular database systems since the 1980s have all supported the relational model as represented by the SQL language.

Tracking Processing Software:

An example of functions performed by the tracking processing software 1328 may be as shown in FIG. 16. The functions can include a Message Queue Telemetry Transport (MQTT) Management 1604, an import airport API 1608, a match LTU information 1612, a report process information 1616, a communication middleware 1620, a database repositories 1624, and/or an operation system (OS) 1628.

The MQTT Management 1604 can include a messaging function based on the ISO standard (ISO/IEC PRF 20922) publish-subscribe-based “lightweight” messaging protocol for use on top of the TCP/IP protocol. MQTT Management function 1604 can communicate over connections with remote locations where a “small code footprint” is required or the network bandwidth is limited, as with the LTU environment 900. The publish-subscribe messaging pattern requires a message broker, e.g., the MQTT Management 1604. The MQTT Management 1604 may be responsible for distributing messages to interested clients based on the topic of a message. Alternative protocols include the Advanced Message Queuing Protocol (AMQP), Streaming Text Oriented Messaging Protocol (STOMP) the IETF Constrained Application Protocol, 16MPP, and Web Application Messaging Protocol (WAMP).

The import airport API 1608 can be an API that imports information about airports, airport communications infrastructure, or other environmental communications systems. The import airport API 1608 can also import LTU information or other information for provision to the client 140. Also, the import airport API 1608 can interface with systems to send/receive processed LTU information destined for the client 140.

The match LTU information function 1612 can function to associated a client 140 with a particular LTU 300. As such, the match LTU information function 1612 can create the associated of identifiers for the LTU 300 and client 140. Further, the match LTU information function 1612 can determine, based on the associations, which LTU data is to be sent to each client 140. The match LTU information function 1612 then can instruct the routing of the LTU information for the communication middleware 1520 or other communication function.

The report process information 1616 can generate the reports of the LTU information for the client 140. As such, based on any processing rules predetermined by the LTU server 132 or provided from the client 140, the report process information 1616 can organize and present the LTU information to the client.

Communication middleware 1620 provides the communications capabilities to communicate with other system components or other systems or devices, e.g., the client 140 and/or LTU 300. The communication middleware 1620 can have similar functionality to middleware 1320 described in conjunction with FIGS. 13 and 15.

Database repositories 1624 functions to interact with the database interface 1512 or database 1356 to store, retrieve, or manage LTU data associated with a client 140. As such, the Database repositories 1624 can receive LTU data and store that data for provision to the report process information function 1616 that will use the data to generate reports.

The operation system (OS) 1628 may be the same or similar to the operating system 1160 or may perform similar functions to the OS 1160 described in conjunction with FIGS. 11 and 12.

Communications Data:

An embodiment of a data structure 1702 or database information 1700 that includes information about LTU location and/or condition that may be stored in database 1356, may be as shown in FIG. 17. The information within database 1700 can include one or more fields, but is not limited to those shown in FIG. 17, as represented by ellipses 1732. Further, there can be more records, each associated with a client 140 and/or LTU 300, than those shown in FIG. 17, as represented by ellipses 1728.

The LTU identifier field 1704 can include the identifier for each of the LTUs 300 that are part of the LTU system 100 and or active therein. As such, the database 1700 shows only a single record for one active LTU within the environment 100. However, there may be two or more records provided, within the database 1700, as represented by ellipses 1728. Two or more LTU ID's 1704 can be associated with a single client identifier 1708. This client identifier 1708 may identify the client 140 associated with the asset that is being tracked by the LTU 300. The IDs 1704, 1708 may be associated by the match LTU information function 1612. Either node 1704, 1708 can include any kind of numeric, alpha numeric, GUID, or other designator that uniquely identifies the LTU 300 or client 140 from all other LTUs 300 or clients 140 within the environment 100.

The rest of the data 1702 may be a minimal set of data that may be exchanged between the LTU 300 and the LTU server 132 and then sent to the third-party system 140. Due to requirements to prevent overuse of the battery and for quick messaging on crowded networks 136, the LTU 300 is required to send only a minimal amount of data to have the LTU's position and condition known. Thus, there is a minimal amount of information that may be provided in any message 1700. For example, the message 1700 can include a position 1712, a time/date 1724, and one or more items of sensor data 1716, 1720, if needed. Each of these fields may be provided in a communication to the LTU server 132, which may store the data and provide the data to the third-party 140.

The position 1712 can be a position or location indicator determined from GPS or other location data. The position 1712 can be coordinate-based information associated with a latitude and/or longitude, a determined address, an IP address, an altitude, etc. This information on position 1712 may be send periodically, e.g., every 5 minutes, every hour, etc. The periodicity of the communication of position information may be predetermined or user-established. In some situations, the periodicity of sending the position information 1712 can be based on the current state of the LTU 300. For example, a faster travel medium, e.g., an airplane, may require more frequent updates than a ship or vehicle. Further, if the LTU 300 is beginning or ending a trip, the periodicity may become more frequent. If the LTU 300 has remained motionless, as if abandoned, the periodicity of position updates may become more infrequent to preserve battery power. Thus, numerous factors are considered by the LTU 300 or the LTU server 132 in setting the periodicity of position information 1712 updates.

Optionally, one or more sensor data 1716, 1720 may also be sent in the message 1702. The sensor data 1716, 1720 can be any data from sensors 1043 as explained in conjunction with FIG. 10. Thus, if a change has been determined by a sensor 1043, a message 1702 with the changes sensor data 1716 may be included. The change may need to cross a threshold before being sent or may be sent regardless of the degree of change. Further, if the LTU 300 is beginning or ending a trip, the number or periodicity of the sensor data measurements 1716, 1720 being sent may become more frequent. If the LTU 300 has remained motionless, as if abandoned, an update of all sensor measurements 1716, 1720 may be sent. Thus, numerous factors are considered by the LTU 300 or the LTU server 132 in determining which and how often sensor measurements are sent, retrieved, and or provided to the client 140.

Common Core

Current asset tracking products are typically heavily burdened with amortized non-recurring engineering (NRE) costs because they are generally sold in relatively low volumes. Embodiments of the present disclosure provide significantly greater reuse across a diverse set of asset tracking products by reducing the common capabilities to a single platform including electrical, power optimized and stabilized firmware.

The Modular Intelligent Tracking Platform solution is a common tracking module which contains a WAN radio (e.g., Cellular, LoRa etc), a GPS receiver, an accelerometer, a low-power CPU, and has a physical interface (such as BGA, LGA, flexible connector or any other connector type) to attach peripheral components such as sensors (including temperature, humidity, pressure, gas, light, magnetometer, flow meters), physical interfaces such as CAN bus, USB, Serial and wireless local area interfaces such as Bluetooth, Zigbee, Thread, LoRa or any other wireless technology. The system includes a power optimized operating system that is fully functional once attached to a power source and when provided with a suitable WAN antenna. The system leverages its sensor capabilities to intelligently detect meaningful events. For example, tracking module is able to determine if it is stationary or moving via the accelerometer and reports a location change only if significant motion has been detected. The core system can then be attached to another PCB via a common interface which contains the additional components needed to make the end product. For example, an OBD-II vehicle tracker can be built using the common core system adding a power circuit and a limited number of additional ASICs for communicating over the OBD-II port. The same core system can be used to build a shipment tracker by mounting it on a board which contains a rechargeable battery circuit, additional sensors such as temperature, humidity, pressure, magnetometer and adding custom mechanics.

This solution allows a significant amount of the design and NRE to be reused which enables derivative products to be developed from this platform with significantly less expense and time.

As illustrated in FIG. 18, a common core 1824 may be used in any number of tracking devices 1804, 1808, 1816, 1812, 1820. In some embodiments, a common core 1824 may comprise a wide area modem (cellular, LPWAN, etc.), a GPS unit, a Low Power MCU, a motion sensor and/or other sensors.

A common core in accordance with some embodiments may be as illustrated in FIG. 19. A common core may comprise an MCU, a Cellular Module, sensors, GPS SoC, BT SoC, WiFi SoC, and/or other elements. In some embodiments, an MCU of a common core may comprise a CoAP/AMQP/MQTT, etc., custom applications, and/or drivers. A cellular module of a common core may comprise TCP/UDP, IPv4/6, GSM/3G/LTE MAC, GSM/3G/LTE PHY, etc. A WiFi SoC of a common core may comprise TCP/UDP, IPv4/6/LoWPAN, WiFi MAC, WiFi PHY, etc.

As illustrated in FIG. 18, a single common core 1824 may be used to create a number of different types of trackers 1804, 1808, 1812, 1816, 1820. For example, a common core 1824 could be used to create an on-board diagnostic (OBD) tracker 1804.

OBD may refer to a vehicle's self-diagnostic and reporting capability system. OBD-II refers to a standard specifying a type of diagnostic connector used by a vehicle, standardizing the pinout, electrical signaling protocols available, as well as messaging format. Vehicles with an OBD-II system can be queried by a single device for a number of parameters. OBD-II may provide a device access to data from an engine control unit (ECU) and may offer a wide variety of types of information about the status of the vehicle. Such parameters may be as defined by SAE standard J/1979. An OBD-II tracker may be capable of entering one or more parameter IDs (PIDs) into an OBD-II connector of a vehicle, sending the PID to a CAN bus, or other controller-area network of the vehicle, receiving feedback from the vehicle network, and recording such information.

Information accessible by such an OBD-II tracker may include, but is not limited to, an overall status of the vehicle, status of any malfunction indicator lamps of the vehicle, oxygen sensor monitoring, fuel status, throttle position, fuel pressure, intake manifold pressure, engine RPM, vehicle speed, intake air pressure, fuel rail pressure, run time since engine start, ambient air temperature, fuel type, or any other OBD-II type information.

As another example, a common core 1824 may be used to create a trailer tracker 1808.

The common core may be attached to a portion of a trailer, such as on a semi-truck, passenger truck, a cargo ship, a shipping container, etc. The common core may be in communication with a number of trailer tracker specific sensors, such as a load or weight sensor sensing a weight of a load in the trailer, a door sensor to sense an opened or closed status of a door of the trailer, a humidity sensor, a light sensor, a GPS, etc.

As another example, a common core 1824 may be used to create a luggage tracker 1812.

For example, the common core may be used to track a location of a piece of luggage. The common core may be in communication with one or more luggage specific sensors, such as an opening detector, a light sensor, a humidity sensor, a GPS, etc. Such a luggage tracker 1812 may be used to track a location and a status of a piece of luggage. Information about the location and status of the piece of luggage may be synchronized with a cloud-based storage system.

As another example, a common core 1824 may be used to create a pet tracker 1816.

For example, the common core may be used to track a location of a pet, such as a dog or cat. The common core may be in communication with one or more pet-specific sensors, such as a GPS, temperature sensor, etc. Such a pet tracker 1816 may be used to track a location and a status of a pet. Information about the location and status of the pet may be synchronized with a cloud-based storage system.

As another example, a common core 1824 may be used to create any other type of tracker 1820.

For example, the common core may be used to track a location and/or a status of any given object. Such a tracker 1820 may be used to track a location and a status of an object. Information about the location and status of the object may be synchronized with a cloud-based storage system.

A common core 1900 as discussed herein may comprise one or more of the elements illustrated in FIG. 19.

For example, a common core 1900 may comprise a microcontroller unit (MCU) 1901.

The MCU 1901 may comprise one or more of a Constrained Application Protocol (CoAP), Advanced Message Queuing Protocol (AMQP), Message Queuing Telemetry Transport (MQTT) and/or other messing protocols, such as any ISO standard publish-subscribe-based message protocol 1902.

The MCU 1901 may further comprise one or more custom applications 1903 and/or drivers 1904.

The common core 1900 may also comprise one or more sensors 1905 in communication with the MCU 1901.

Sensors 1905 may be physically connected to the MCU 1901 and may be contained within the common core 1900. In some embodiments, one or more sensors in addition to or instead of the sensors 1905 may be in communication with the MCU 1901 via a wireless or wired connection 1907.

Sensors 1905 may include, but are not limited to, one or more of humidity, light, weight, barometric, altimeter, gyroscopic, accelerometer, or any other type of sensor.

Sensors 1905 may be in communication with the MCU 1901 via one or more installed drivers 1906.

The common core 1900 may also comprise one or more GPS systems-on-chips (SoC) 1908 in communication with the MCU 1901.

A GPS SoC 1908 may be connected to the MCU 1901 via an AT connection 1909, for example via an SATA connector. The GPS SoC 1908 may communicate with the MCU 1901 using an NMEA standard, for example using NMEA-0183.

The common core 1900 may also comprise one or more Bluetooth SoCs 1910 in communication with the MCU 1901.

A Bluetooth SoC 1910 may be connected to the MCU 1901 via an AT connection 1911, for example via an SATA connector. The Bluetooth SoC 1910 may communicate with the MCU 1901 over the connection 1911 using a particular driver.

The common core 1900 may also comprise one or more WIFI SoCs 1912 in communication with the MCU 1901.

A WIFI SoC 1912 may be connected to the MCU 1901 via an AT connection 1913, for example via an SATA connector. The WIFI SoC 1912 may communicate with the MCU 1901 over the connection 1913 using a particular driver.

In some embodiments, a WIFI SoC 1912 of a common core 1900 may communicate using one or more protocols such as TCP and/or UDP 1914.

In some embodiments, a WIFI SoC 1912 of a common core 1900 may communicate over one or more protocols such as IPv4, IPv6, and/or a Low-Power Wireless Personal Area Network (LoWPAN) 1915.

In some embodiments, a WIFI SoC 1912 of a common core 1900 may communicate over a WIFI medium access control (MAC) layer 1916 and/or a physical layer (PHY) 1917.

The common core 1900 may also comprise one or more cellular modules 1918 in communication with the MCU 1901.

A cellular module 1918 may be connected to the MCU 1901 via an AT connection 1919, for example via an SATA connector. The cellular module 1918 may communicate with the MCU 1901 over the connection 1919 using a particular driver.

In some embodiments, a cellular module 1918 of a common core 1900 may communicate using one or more protocols such as TCP and/or UDP 1920. In some embodiments, a cellular module 1918 of a common core 1900 may communicate over one or more protocols such as IPv4 and/or IPv6 1921. In some embodiments, a cellular module 1918 of a common core 1900 may implement a MAC layer 1922 and/or a physical layer 1923 using a wireless GSM/3G/LTE application.

As illustrated in FIG. 20, in at least one embodiment, a common core 2000 may comprise an MCU 1901 capable of handling the communication via protocols such as TCP and/or UDP 2002 and over IPv4 and/or IPv6 2003. Furthermore, in at least one embodiment, a battery and power system 2001 may be used to power the common core 2000. As illustrated in FIG. 20, a common core may comprise a power system, including a battery (or other power source), a protection circuit, fuel gauge, CXa3846GF DDC, and/or a Buck/Boost converter. Such a power system may be used to power the components of the common core, such as the GPS SoC, MCU, Cellular Module, etc.

A block diagram of a common core 2100 is illustrated in FIGS. 21-26.

In some embodiments, as illustrated in FIG. 21, a common core 2100 may comprise an internal network 2101 connecting one or more of a GPS module 2102, an accelerometer 2103, a gyroscope 2104, a flash memory unit 2105, a power protection circuit 2106, a cellular module 2107, an MCU 2108, and/or an external interface 2109. The external interface 2109 may be used to connect to and/or communicate with one or more external devices as will be described in accordance with FIGS. 22-26. The Power protection circuit 2106 may be used to supply power to the common core.

As illustrated in FIG. 21, the common core may comprise a common platform and be utilized in a Product N (such as a tracking device). The common platform may comprise a protection circuit and boost converter, a cellular module, an MCU, flash memory, sensors (e.g. Accelerometer and/or Gyroscope), GPS SoC, a DC/DC converter, and/or a fuel gauge. The common platform may be implemented as a 15×15 mm chip and be used in a 30×30 mm product (such as a tracking device). In some embodiments, the common platform and tracking device may be other dimensions. The MCU of the common platform may be used to communicate with a number of sensors and other devices of a tracking device.

As illustrated in FIG. 22, a trailer and container tracker may comprise a common platform along with a power source (e.g., a battery). As illustrated in FIG. 22, a common core 2100 may be used to create a simple tracking device 2200.

In some embodiments, a simple tracking device 2200 may comprise a container containing a power supply 2201 connected to a power protection circuit 2106 of a common core 2100. To save power, in certain situations one or more of the internal elements 2102-2109 of the common core may be permanently or temporarily disabled. In some embodiments, the MCU 2108 may be capable of enabling and disabling elements based on usage requirements.

As can be appreciated by the dashed line around the gyroscope 2104, a gyroscopic sensor 2104 may be enabled and disabled by the MCU 2108 based on usage requirements. By enabling only those elements which may be required for a particular tracking device using the common core, the efficiency of the system may be optimized.

As illustrated in FIG. 23, a tracking device 2300 comprising a local wireless communication device 2301 may be created using a common core 2100.

In some embodiments, a tracking device 2300 comprising a local wireless communication device 2301 may comprise a power supply 2201. The local wireless communication device 2301 may enable the MCU 2108 to communicate with other nearby devices comprising local communication devices. The local wireless communication device 2301 may be connected to the common core 2100 via the external interface 2109. As described herein, a tracking device 2300 comprising a local wireless communication device 2301 may be capable of communicating with one or more other devices comprising local and/or wide-area network communication devices.

For example, the tracking device 2300 may track a particular object and may store tracking information in local memory 2105. Tracking information gathered by the tracking device 2300 may be shared with one or more other devices comprising local and/or wide-area network communication devices. The tracking device 2300 may share such tracking information by transmitting packets of information. Such packets of information may comprise payload information along with a header identifying the type of payload information as well as the source of the information, e.g. a tracking device ID associated with the tracking device 2300.

As illustrated in FIG. 23, a trailer and container tracker may comprise a common platform and a solar power system, with a charging circuit controller, a battery, and may further comprise a local wireless system external to the common platform.

As illustrated in FIG. 24, a tracking device 2400 may be powered and/or charged by an external power source 2402. Such a tracking device 2400 may comprise internal circuitry 2403-2405 required to receive power from the external power source 2402. The tracking device may include a battery 2405, a DC-DC converter 2403, and a protection circuit 2402 connecting the battery to the DC-DC converter 2403. The tracking device may further comprise an OBD-II bridge 2401.

As described above, OBD may refer to a vehicle's self-diagnostic and reporting capability system. OBD-II refers to a standard specifying a type of diagnostic connector used by a vehicle, standardizing the pinout, electrical signaling protocols available, as well as messaging format. Vehicles with an OBD-II system can be queried by a single device for a number of parameters. OBD-II may provide a device access to data from an engine control unit (ECU) and may offer a wide variety of types of information about the status of the vehicle. Such parameters may be as defined by SAE standard J/1979. An OBD-II tracker may be capable of entering one or more parameter IDs (PIDs) into an OBD-II connector of a vehicle, sending the PID to a CAN bus, or other controller-area network of the vehicle, receiving feedback from the vehicle network, and recording such information.

The tracking device 2400 illustrated in FIG. 24 may be capable of gathering information about a status of a vehicle. The external power source 2402 may be a power source on the vehicle. The tracking device 2400 may gather information such as an overall status of the vehicle, status of any malfunction indicator lamps of the vehicle, oxygen sensor monitoring, fuel status, throttle position, fuel pressure, intake manifold pressure, engine RPM, vehicle speed, intake air pressure, fuel rail pressure, run time since engine start, ambient air temperature, fuel type, or any other OBD-II type information. Such information may be stored in memory 2105 of the common core 2400. The tracking device 2400 may keep such information stored and may transmit such information to one or more other devices via the local wireless communication device 2301 of the tracking device 2400.

As illustrated in FIG. 24, an OBD-II tracking device may comprise a common platform, an external power system, an OBD-II bridge in communication with the MCU of the common platform, a local wireless device, and/or LED devices or some other form of display.

As illustrated in FIG. 25, a tracking device 2500 may comprise one or more additional sensors 2501 in addition to any sensors 2103, 2104 of the common core 2100. For example, additional sensors 2501 may comprise one or more of a humidity sensor, an altimeter, a temperature sensor, a door sensor, a load weight sensor, or any other type of sensor. In some embodiments, additional sensors 2501 may be wired to the external interface 2109 of the common core 2100. In some embodiments, one or more wireless sensors may also communicate with the tracking device 2500.

As illustrated in FIG. 25, a shipment tracker device may comprise a common platform, an external power system (such as a battery), a number of sensors (e.g., temperature, humidity, light, gas, barometer, etc.), a microcontroller, a local wireless SoC, a USB interface, LED display device, and a user interface (e.g., a physical button).

As illustrated in FIG. 26, a tracking device 2600 may also comprise an LCD 2601 or other form of display or user interface. The LCD 2601 may be connected to the common core 2100 through the external interface 2109. The LCD 2601 may display an amount of status information gathered by the tracking device 2600. For example, the LCD 2601 may allow a user to see one or more current, or historical, sensor measurements related to an object being tracked by the device 2600.

As illustrated in FIG. 26, a cold chain tracker device may comprise a common platform, an external power system (such as a battery), a number of sensors (e.g., temperature, humidity, light, gas, barometer, etc.), a microcontroller, a local wireless SoC, a USB interface, LED display device, LCD display, and a user interface (e.g., a physical button).

Hybrid Cloud-Edge Computing Method for Automated Decision Making and Probabilistic Occurrence

Returning back to FIG. 1, the truck 108 may be a truck or any other type of vehicle or any type of trackable object. The truck 108 may comprise one or more of a wireless door sensor and a wireless strain gauge and/or load sensor. The truck 108 may also comprise a tracker device in a cargo container, pallet, or other type of shipment on the truck 108. The tracker device may comprise a GPS or may be capable of triangulating its location using wireless communication means. The tracker device may comprise one or more motion sensors, for example a 6- or 7-axis gyroscopic sensor. The tracker device may be capable of communicating with the truck 108 using an OBD-II port. The tracker device may comprise a wireless communication device.

In addition to any sensors comprised by the truck 108, the tracker device itself may comprise one or more sensors. For example, the tracker device may comprise one or more of motion sensors, light sensors, sound sensors, and/or other sensors.

The tracker device may comprise an MCU capable of executing a number of algorithms. For example, the tracker device may be capable of determining if the truck 108 has stopped. The tracker device may be capable of detecting particular noise patterns, light, door opening, load of vehicle changing, location, etc. The tracker device may also be capable of determining an angular acceleration of the vehicle, raw behavior of the vehicle, or other qualities of the vehicle.

The tracker device may communicate with a cloud-based server. Artificial intelligence algorithms may be executed on both the tracker device and the cloud. The tracker device and the cloud may be capable of collaborating to calculate a security risk of the truck 108. The tracker device may report the location of the truck to the cloud-based server and may receive from the cloud-based server a security profile based on the location.

The cloud-based server may store data relating to one or more of current and historical traffic levels for particular locations, historical theft data, police data, and other data relating to any given location. The server may also store data relating to historical accidents by geographical location.

The cloud-based server may execute one or more machine learning algorithms. The server may be capable of determining a security risk for a vehicle using traffic data and/or historical security risk by geographical location, and well as by using historical data and current data received from a tracking device.

The server may develop algorithms for detecting unsafe and/or high-risk behavior. Such algorithms may be transmitted to the tracking device on the vehicle. The algorithms may enable the tracking device on the vehicle to detect, record, and report meaningful events related to driver behavior and risk.

In this way, the prediction of security risks may be made through a collaboration between intelligence of the cloud-based server and the tracker device.

This system may enable insurance companies and fleet operators to more accurately assess the insurance risk of driver behavior by capturing raw GPS, accelerometer and gyro and other sensor data from a vehicle, streaming it to a cloud and using data in the cloud to correlate the behavior with actual incidents, locations, traffic, weather and other external and historical data. Algorithms which correlate the primitives of vehicle movement and location to probability of incident are developed using machine learning or other techniques. These algorithms are then deployed to devices in the vehicle. The algorithm is then used to record vehicle behavior, generate events which are sent to the cloud. These events are then correlated with other data available to the cloud such as traffic, weather, location etc. in order to determine the overall risk level of this driver behavior. Insurance premiums can then be dynamically set based on highly confident models that are tuned to correlate with risk.

Hybrid cloud-edge computing architecture enables higher quality decisions or higher confidence in calculating the probability that a given event has occurred or might occur than attempting to use only either a local device or a cloud. In addition, this hybrid architecture is a more power-efficient solution than the conventional design of making the computation either in the cloud or on the device.

In this architecture, an edge device and a cloud computing instance are provided and the two are able to communicate securely with each other. The edge device has sensors which enables it to sense the local environment such as accelerometer, gyro, GPS, microphone, camera or any other sensor type. The cloud instance is connected to other data sources which gives it access to other information and relevant context. These data sources may include, but are in no way limited to, map data, traffic data, weather data, historical data, live data, or any other data source. The edge device may have some sensors disabled in order to save power and other low power sensors enabled to detect changes in the environment. For example, an accelerometer may be set to trigger if the device decelerates. The edge device then needs to decide if it should wake up (e.g., activate, turn on, or change power states, etc.) other sensors to understand what is occurring. The edge device then communicates some of the collected information to the cloud and the cloud may access other network resources and return a probability of different event types to the device. If the probability of an event occurring is high, the edge device and/or the cloud computing device may then decide to enable additional sensors to confirm that that event type is occurring. In this way, the two systems combine the different types of information, or “knowledge,” to determine whether a given event is occurring.

This concept can be applied to many different types of events or decisions. For example, aspects of the present disclosure may be used to detect the probability that a theft is occurring on a shipment. In this case, the edge device may be inside a freight truck and only monitoring for change in movement via one or more sensors (e.g., an accelerometer, gyroscope, etc.). When the edge device detects deceleration, it may enable the GPS and determine that it is no longer moving and send a message to the cloud instance that the edge device has stopped along with its current location (e.g., in GPS coordinates, map location, etc.). The cloud instance may then check map data and determine that the device is on a highway and it should be moving. As described above, the map data may be provided via one or more of the other data sources in communication with the cloud instance or server. The cloud instance may then check traffic data and determine that there is no reason for the device to be stopped. The cloud instance may then check historical theft rates in that area and possibly for a commodity type in the truck. The cloud instance may then return the probability of a theft event occurring to the edge device. If the probability is high, the edge device may enable additional sensors such as a microphone, camera or even scan RF signals to local for signal jamming patterns. If the audio, visual or RF signals match any known patterns of theft, the system can then confirm that a theft is occurring or about to occur.

Conventional methods rely on either streaming data from the edge device to the cloud and making all decisions in the cloud or using only the data available to the edge device to make decisions with all of the compute decision making either in the cloud or on the local device. When data is streamed from the edge device to the cloud, it can consume a lot of power and data. Among other things, the present disclosure provides that, the algorithms, which may be machine learned, are split between the cloud and the edge device and context is shared between the device in the form of events or probabilities of events. This approach can result in greater power efficiency and higher quality decisions. In fact, conventional approaches which require data to be continuously streamed to the cloud are infeasible in power constrained environments.

As illustrated in FIG. 1, a security risk prediction and shared intelligence between cloud and device system may be implemented. In some embodiments, a tracking device “A” may be on a vehicle such as a truck. The tracking device may comprise sensors, such as motion, light, sound, GPS/GLONASS, etc. The tracking device may also contain a system with onboard algorithms utilizing artificial intelligence and/or machine learning. For example, the tracking device may determine if it is not moving, if the truck has come to a stop, and based on certain noise patterns may determine other situations. The tracking device may also detect changes in light surrounding the device or cargo (e.g., if a door to the truck or cargo area of the truck has been opened), may detect a change in load of the vehicle (based on communication with a wireless strain gauge and/or sensor on the vehicle), and may even detect a change in temperature inside the cargo area of the truck via one or more temperature sensors associated with the device. The tracking device may further be in communication with a wireless door sensor to determine whether the door has been opened or closed. The tracking device may determine its location based on GPS/Glonass, and/or triangulation using cellular towers. The tracking device may be in communication with a cloud machine learning system. The cloud machine learning system may contain a historical database including information on theft, traffic, police, etc. The cloud machine learning system may be enabled to know current and historical traffic, know security risks (current and historical), and, based on geographical location of the tracking device, be able to predict traffic and/or security risk of a package associated with the tracking device.

As illustrated in FIG. 1, a machine learned driver behavior and cloud device shared intelligence system may be implemented. In some embodiments, a tracking device “A” may be on a vehicle such as a passenger car. The tracking device may comprise sensors, such as motion (gyroscope, accelerometer), light, sound, GPS/GLONASS, etc. The tracking device may also contain a system with onboard algorithms utilizing artificial intelligence and/or machine learning. For example, the tracking device may determine if it is not moving, if the vehicle has come to a stop, and based on certain noise patterns may determine other situations. The tracking device may connect to the vehicle via an OBD-II port and may comprise forms of wireless connectivity. The tracking device may collect and report information such as vehicle location, raw behavior of vehicle (e.g., angular acceleration, etc.) and/or other information. The tracking device may also detect light (e.g., if a door to the vehicle has been opened), may detect a change in load of the vehicle (based on communication with a wireless strain gauge and/or sensor on the vehicle), etc. The tracking device may further be in communication with a wireless door sensor to determine whether the door has been opened or closed. The tracking device may determine its location based on GPS/GLONASS, and/or triangulation using cellular towers. The tracking device may be in communication with a cloud machine learning system. The cloud machine learning system may contain a historical database including information on theft, traffic, police, accidents by geographical location, other data about accidents etc. The cloud machine learning system may be enabled to know current and historical traffic, know security risks (current and historical), and, based on geographical location of the tracking device, be able to predict traffic and/or unsafe/high-risk behavior developed and pushed to the tracking device.

Method for Assessing the Insurance Risk of Driver Behavior Using GPS Tracking and Machine Learning

This system enables insurance companies and fleet operators to more accurately assess the insurance risk of driver behavior by capturing real-time data from vehicles, combining it with other environmental data and correlating with actual incidents.

This system enables insurance companies and fleet operators to more accurately assess the insurance risk of driver behavior by capturing raw GPS, accelerometer and gyro and other sensor data from a vehicle, streaming it to a cloud and using data in the cloud to correlate the behavior with actual incidents, locations, traffic, weather and other external and historical data. Algorithms which correlate the primitives of vehicle movement and location to probability of incident are developed using machine learning or other techniques. These algorithms are then deployed to devices in the vehicle. The algorithm is then used to record vehicle behavior, generate events which are sent to the cloud. These events are then correlated with other data available to the cloud such as traffic, weather, location etc. in order to determine the overall risk level of this driver behavior. Insurance premiums can then be dynamically set based on highly confident models that are tuned to correlate with risk.

Previous solutions pre-determine risky behavior through simple patterns of acceleration which are not correlated to actual incidents. This system would provide a more accurate model that enables more dynamic insurance models.

Method and System for Pallet Tracking with Mixed Local and Wide Area Trackers

This solution enables cost effective pallet tracking by using a mix of wide area GPS trackers and local area trackers or beacons. The local area trackers are less expensive and enable a TCO for pallet tracking that is substantially lower than adding cellular trackers to every pallet.

This solution consists of wide area wireless (e.g. cellular, LoRa, SigFox or any other wide area wireless network technology) tracker with local area wireless connection. The Wide Area Wireless Tracker may have a GPS sensor or may use Cell-ID and other technologies to localize and may have other sensors for tracking the environment such as temperature, humidity, movement, shock or any other sensor. This Wide Area Tracker may be on or embedded in a pallet, installed on a truck, trailer, train or any other vehicle or facility. The solution also consists of a local area wireless (e.g. bluetooth, zigbee, thread, LoRa) or any other local area wireless technology) and may function simply as a beacon, is attached to or embedded in a pallet and may contain other sensors for detecting the environment such as temperature, humidity, movement, shock, etc. The local area wireless trackers communicate (either directly or via mesh) with the wide area trackers when they come in contact with each other. The wide area tracker then reports the location and status of the local area trackers to the cloud. This solution may also contain algorithms which determine which wide area wireless tracker to associate each local area wireless tracker with. The received signal strength of each local tracker as seen from the wide area tracker and the received signal strength of each wide area tracker as seen from each local area tracker as well as the length of time that each tracker is visible to each other are key parameters in this algorithm.

Conventional solutions use only local area tracking technology such as RFID which only works when it comes in contact with infrastructure in facilities. This solution is superior because the pallets travel with access to a wide area tracker which allows them to be tracked in real-time. This solution is also substantially less expensive than placing cellular trackers in every pallet.

As illustrated in FIG. 27, a cargo trailer 2704 may store one or more pallets 2716. One of more of the pallets 2716 may comprise one or more tracking devices 2712. The trailer 2704 itself may also comprise a trailer-mounted tracker 2708. One or more of the trackers 2712 and/or the trailer-mounted tracker 2708 may be in communication with a cloud-based server 2720 via a cellular connection to a cellular tower 2724 or via some other wide-area network (WAN) communication device.

Pallet trackers 2712 may be equipped with one or more of a local-area wireless network communication device. For example, BLE, ZIGBEE, LORA, etc. Pallet trackers 2712 may be equipped with one or more of a wide-area wireless network communication device. For example, cellular, SigFox, etc.

In some embodiments, one or more of the trackers 2712 and/or the trailer-mounted tracker 2708 may be in communication with other trackers 2712 and/or the trailer-mounted tracker 2708 in order to form a hub-and-spoke or mesh network between the trackers 2708 and/or the trailer-mounted tracker 2708.

Pallet trackers 2712 may comprise a GPS device and/or sensors including but not limited to temperature, shock, etc. In some embodiments, one or more of the pallet trackers 2712 may be limited to being a local-area tracker and may lack any WAN communication and/or GPS capabilities. The trailer-mounted tracker may comprise both a WAN and LAN communication device as well as GPS and a number of sensors, for example temperature and humidity sensors.

Local-area trackers may be capable of communicating with one or more of a wide-area network communication capable tracker, a trailer-mounted tracker, a gateway in a building such as a warehouse or other communication device. Wide-area trackers may relay presence and condition of themselves as well as of local-area trackers to a cloud-based server 2720.

As illustrated in FIG. 27, a trailer containing packets may be equipped with one or more tracking devices. In some embodiments, a trailer 2704 may be equipped with a trailer mounted tracker 2708. Pallets 2716 on the trailer 2704 may also be equipped with tracking devices 2712. Each tracking device 2712 and the trailer mounted tracker 2708 may comprise one or more of a local area wireless device (e.g., BLE, ZIGBEE, LORA, etc.), a wide area wireless device (e.g., cellular, SigFox, etc.), GPS, Sensors (e.g., shock, temperature, etc.) and/or other devices. In some embodiments tracking devices 2716 on pallets and a trailer mounted tracker 2708 may communicate via an onboard hub and spoke or mesh network on the trailer. The tracking devices 2716 and trailer mounted tracker 2708 may communicate with an internet based cloud 2720 via a cellular tower 2724.

In some embodiments, a pallet tracker 2712 on a pallet 2716 may comprise a wide area and local area tracker and GPS and may have other sensors (e.g. shock, temperature, etc.). In some embodiments, a pallet tracker 2712 on a pallet 2716 may comprise a local area tracker and lack GPS. The pallet tracker 2712 may, while lacking GPS, have other sensors (e.g. shock, temperature, etc.). In some embodiments a trailer mounted tracker 2708 may comprise a wide area and local area wireless tracker and GPS and may have other sensors (e.g. temperature, etc.).

Local area trackers may communicate with a wide area enabled tracker, devices onboard a trailer tracker, and/or a gateway in a building/warehouse. Wide area trackers may relay presence, location, and condition of themselves and of local area tracking devices.

As illustrated in FIG. 28, a number of tracking devices 2802, 2803 may be used to track a number of objects within a single tractor trailer 2800 or other large compartment area.

The tractor trailer 2800 may additionally comprise its own communication and/or computer system 2801. In some embodiments, some tracking devices 2802, 2803 may be limited to local-area network (LAN) communication, e.g. local-communication tracking devices 2803. In some embodiments, some tracking devices 2802, 2803 may be capable of both LAN communication as well as wide-area network (WAN) communication, e.g. wide-communication tracking devices 2802. Data gathered by the local-communication tracking devices 2803 may be transmitted and/or shared with wide-communication tracking devices 2803 to be shared with a network location. In some embodiments, the communication and/or computer system 2801 of the tractor trailer 2800 may also gather information gathered by any local-communication tracking devices 2803.

This solution consists of wide area wireless (e.g. cellular, LoRa, SigFox or any other wide area wireless network technology) tracker with local area wireless connection. The wide-area wireless tracker may have a GPS sensor or may use Cell-ID and other technologies to localize and may have other sensors for tracking the environment such as temperature, humidity, movement, shock or any other sensor. This wide-area tracker may be on or embedded in a pallet, installed on a truck, trailer, train or any other vehicle or facility. The solution also consists of a local area wireless (e.g. Bluetooth, ZigBee, Thread, Lora or any other local area wireless technology) and may function simply as a beacon, is attached to or embedded in a pallet and may contain other sensors for detecting the environment such as temperature, humidity, movement, shock, etc. The local area wireless trackers communicate (either directly or via mesh) with the wide area trackers when they come in contact with each other. The wide area tracker then reports the location and status of the local area trackers to the cloud. This solution may also contain algorithms which determine which wide area wireless tracker to associate each local area wireless tracker with. The received signal strength of each local tracker as seen from the wide area tracker and the received signal strength of each wide area tracker as seen from each local area tracker as well as the length of time that each tracker is visible to each other are key parameters in this algorithm.

Conventional solutions use only local area tracking technology such as RFID which only works when it comes in contact with infrastructure in facilities. This solution is superior because the pallets travel with access to a wide area tracker which allows them to be tracked in real-time. This solution is also substantially less expensive than placing cellular trackers in every pallet.

Wide-area trackers may periodically poll local-area trackers to discover which pallets comprising local-area trackers are nearby. Such discovery polls by wide-area trackers may be triggered based on motion so that inventory is determined each time the truck departs and arrives to identify which pallets were loaded/unloaded at each stop. When stationary for long periods of time, wide-area trackers may also poll to collect an inventory.

Local-area trackers may respond to the polling with information including a tracker ID and/or other metadata (e.g. attached boxes and observable nearby beacons for better localization of the pallet).

Wide-area trackers may aggregate local-area tracker responses and transmit data to a cloud-based server. A cloud back-end may disaggregate duplicate reports from multiple wide-area trackers.

A trailer tracker with both wide-area connectivity and local-area connectivity may also be installed in the trailer. A trailer tracker may behave like a wide-area tracker in this concept. If a trailer tracker is present, the wide-area trackers may not poll local area trackers and may respond to the trailer tracker as a local-area tracker, thus reducing power and data consumption.

The solution could be optimized to elect a single wide-area tracker to handle all reporting when multiple are present. This may save on power and data costs.

As illustrated in FIG. 29, a building 2900 or other large area may store a number of tracking devices 2802, 2803.

The building 2900 may additionally comprise its own communication and/or computer system acting as a beacon gateway 2901. Beacon gateways 2901 may be distributed around a warehouse or other building 2900. In some embodiments, some tracking devices 2802, 2803 may be limited to local-area network (LAN) communication, e.g. local-communication tracking devices 2803. In some embodiments, some tracking devices 2802, 2803 may be capable of both LAN communication as well as wide-area network (WAN) communication, e.g. wide-communication tracking devices 2802. Data gathered by the local-communication tracking devices 2803 may be transmitted and/or shared with wide-communication tracking devices 2803 to be shared with a network location. In some embodiments, the beacon gateways 2901 of the building 2900 may also gather information gathered by any local-communication tracking devices 2803.

Beacon gateways may be installed in multiple locations around a warehouse to provide indoor location of the pallets and offload wide-area trackers to save power and data. When beacon gateways are present, wide-area trackers may behave like local-area trackers.

Beacon gateways may periodically poll all nearby trackers and collect one or more of an ID, connected package IDs (if any) and an ID and signal strength of any other visible beacon gateway.

The beacon gateways may transmit the data to the cloud and the cloud may disaggregate and localize the pallets within the warehouse.

Pallet trackers may be designed with a configurable random delay when responding to a poll. A random delay may help with reducing collisions and ensuring all trackers are heard in scenarios where many trackers may be present and all try to respond to a poll at the same time.

The above-described systems may be capable of executing one or more methods related to tracking objects and maintaining data associated with tracked objects. In some embodiments, methods may be performed by a processor of a computer system such as a tracking device as described herein. Such a computer system may also comprise one or more of the elements described herein, such as a wide-area and/or local-area network radio, a GPS receiver, an accelerometer, a gyroscopic sensor, other types of sensors, a physical interface, and memory. Memory of such a computer system may be a computer-readable storage medium and may store computer-readable instructions which, when executed by the processor cause the processor to perform steps of a method.

In order to save power and data consumption, while minimizing bidirectional communication time needed to send and receive data from hardware devices, when a tracking device transmits a report to a network location, the tracking device should, in a response message sent from the network location, receive all data needed by the tracking device to continue operating. Conventional systems, conversely, require multiple API calls: a first API call to report the occurrence of an event and a second to check if any information on the event is needed. In some embodiments, the server may transmit information in response to a reporting client device comprising one or more of: GPS seed data, ephemeris data, configuration changes, system update notifications, waypoints, route information, Geolocation through the network (without GPS), etc.

In some embodiments, a power-efficient method for geo-locating a device without using GPS may be implemented to save power when tracking the device. For example, the tracking device can use one or more means to gather information needed to determine its location. In some embodiments, a tracking device may first attempt to locate itself via GPS, while if the GPS signal strength is too weak, the tracking device may decide to abandon GPS location identification to avoid wasting power using GPS. In such a scenario, the tracking device may next attempt to gather radio-frequency (“RF”) fingerprint data from one or more available radio devices by turning off the GPS and turning on one or more local-area radios (e.g. WiFi, BT, Zigbee, Lora, or any other radio technology or any combination of those radios) if such local-area radios are available. Such local-area radios may be in passive mode (i.e., only scanning and/or receiving data and not transmitting data). For example, the tracking device may gather one or more of a network ID, signal strength data, a MAC address or any other parameter needed to process to obtain a latitude and longitude position.

In some embodiments, during the process of gathering network information, the tracking device may utilize a specific algorithm to intelligently use radios where there is available signal in a specific band of frequencies to reduce the amount of time in which the receiver is on. The tracking device may turn on a cellular radio and gather any available cell tower IDs, signal strength, and/or other information. The tracking device may then append any received data to an event report. The event report may be transmitted to a network location immediately if it is high priority or queued for a later time if it is low priority. Once transmitted to the cloud, the cloud-based server will take the fingerprint data and make a request to a service provider which may return the latitude/longitude, precision, and possibly floor-level (if indoor location) for the corresponding fingerprint. The cloud-based server may then replace the fingerprint data with the corresponding latitude/longitude and transmit the location on to a receiving back-end service (e.g. a 3rd party customer). In some embodiments, the tracking device may make the call out to the server to convert the fingerprint data to latitude/longitude data directly. In some embodiments, a method for reducing data transmission levels and saving power on the device side may comprise simply including fingerprint data in event reports with the goal of obtaining the best possible location-estimation using the least amount of power consumption.

As illustrated in FIG. 30, a method 3000 of obtaining location information may be executed by a tracking device.

The method 3000 may begin at step 3003 in which a tracking device comprising a GPS and/or other sensors may be at an unknown location and may attempt to begin a process of determining its location. For example, a tracking device may attempt to determine its location periodically or upon the occurrence of a particular event.

At step 3006, a processor of the tracking device may determine whether a GPS signal may be received by a GPS onboard and/or in communication with the tracking device. If a GPS signal is available, the tracking device may simply determine its location using GPS in step 3009. If, on the other hand, a GPS signal is determined to not be available the method 3000 may proceed to step 3012 and the processor may disable the GPS and enable one or more other sensors (e.g. WiFi, BT, Zigbee, Lora, or any other radio technology or any combination of those radios) if such local-area radios are available. Such local-area radios may be in passive mode (i.e., only scanning and/or receiving data and not transmitting data).

The GPS may be disabled temporarily for a specific predetermined period of time, until the next instance the tracker needs to determine its position, or for some other amount of time. Note that in some embodiments, the tracking device may lack a GPS and the method may comprise simply answering no in step 3006 and proceed to step 3012.

In step 3015, the processor may, via one or more sensors of the tracking device, obtain fingerprint data from one or more external devices. For example, the tracking device may gather one or more of a network ID, signal strength data, a MAC address or any other parameter needed to process to obtain a latitude and longitude position.

In step 3018, any fingerprint data obtained from the one or more sensors may be transmitted via a network connection to a cloud-based server. In response to the fingerprint data, the tracking device may next receive actual latitude/longitude coordinates reflecting an estimated position of the tracking device based upon the fingerprint data in step 3021.

In step 3024, having either determined the location of the tracking device using GPS in step 3009 or having received an estimated position from a server using fingerprint data in step 3021, the processor of the tracking device may update its location and using the location to append an event report with its current location. In step 3027 the method 3000 may end.

As illustrated in FIG. 31, a method 3100 of creating an event report comprising one of location information and fingerprint data may be executed by a tracking device.

The method 3100 may begin at step 3103 in which a tracking device comprising a GPS and/or other sensors may be at an unknown location and may attempt to begin a process of determining its location. For example, a tracking device may attempt to determine its location periodically or upon the occurrence of a particular event.

At step 3106, a processor of the tracking device may determine whether a GPS signal may be received by a GPS onboard and/or in communication with the tracking device. If a GPS signal is available, the tracking device may simply determine its location using GPS in step 3109. If, on the other hand, a GPS signal is determined to not be available the method 3100 may proceed to step 3112 and the processor may disable the GPS and enable one or more other sensors (e.g. WiFi, BT, Zigbee, Lora, or any other radio technology or any combination of those radios) if such local-area radios are available. Such local-area radios may be in passive mode (i.e., only scanning and/or receiving data and not transmitting data).

The GPS may be disabled temporarily for a specific predetermined period of time, until the next instance the tracker needs to determine its position, or for some other amount of time. Note that in some embodiments, the tracking device may lack a GPS and the method may comprise simply answering no in step 3106 and proceed to step 3112.

In step 3115, the processor may, via one or more sensors of the tracking device, obtain fingerprint data from one or more external devices. For example, the tracking device may gather one or more of a network ID, signal strength data, a MAC address or any other parameter needed to process to obtain a latitude and longitude position.

In step 3118, any fingerprint data obtained from the one or more sensors may be appended to an event report in lieu of GPS/latitude/longitude coordinates. For example, if the tracking device cannot accurately determine and/or estimate its physical location, the tracking device may simply include any accessible fingerprint data in an event report to be delivered to a server. In this way, the tracking device may reduce the number of data transmissions required for tracking to a minimum. A server may use the fingerprint data upon receiving the event report to determine a position of the tracking device at the time the event report was generated.

If, on the other hand, the GPS signal was determined to be available in step 3106 and the tracking device determined the location using GPS in step 3109, the processor of the tracking device may simply append the actual location information to the event report and no fingerprint data may be necessary.

In step 3124, having created an event report using either the determined location of the tracking device using GPS in step 3009 or the received fingerprint data in step 3115, the method 3100 may end.

As illustrated in FIG. 32, a method 3200 of obtaining and using location information using fingerprint data received from a tracking device may be executed by a network-based server. The method 3200 may begin at step 3203 in which a server managing event reports and tracking information associated with one or more tracking devices may be in communication with a tracking device.

In step 3206, the server may receive fingerprint data from the tracking device. Fingerprint data may be in the form of one or more of one or more of a network ID, signal strength data, a MAC address and/or any other parameter needed to process to obtain a latitude and longitude position.

In step 3209, using the received fingerprint data, the server may obtain location information. The location information may be in the form of latitude/longitude coordinates, a zipcode, city/state, a building name, address, a building floor number, or other location identifier.

In step 3212, the server may determine whether the fingerprint data received from the tracking device was sent along with an event report, as illustrated by the method shown in FIG. 31.

If, in step 3212, the fingerprint data was not received with an event report, the method 3200 may comprise proceeding to step 3218 in which the obtained location information may be transmitted to the tracking device.

If, on the other hand, the location information is determined to have been received with the event report, the method 3200 may proceed to step 3215 and append the obtained location information to the event report. This method of including fingerprint data with event reports may reduce the number of times the server must communicate with a tracking device, thus improving overall efficiency and the battery life of the tracking device. Following either of steps 3215 and 3218, the method 3200 may end at step 3221.

The features of the various embodiments described herein are not intended to be mutually exclusive. Instead, features and aspects of one embodiment may be combined with features or aspects of another embodiment. Additionally, the description of a particular element with respect to one embodiment may apply to the use of that particular element in another embodiment, regardless of whether the description is repeated in connection with the use of the particular element in the other embodiment.

Examples provided herein are intended to be illustrative and non-limiting. Thus, any example or set of examples provided to illustrate one or more aspects of the present disclosure should not be considered to comprise the entire set of possible embodiments of the aspect in question. Examples may be identified by the use of such language as “for example,” “such as,” “by way of example,” “e.g.,” and other language commonly understood to indicate that what follows is an example.

The systems and methods of this disclosure have been described in relation to the connection of a battery to a cooling plate. However, to avoid unnecessarily obscuring the present disclosure, the preceding description omits a number of known structures and devices. This omission is not to be construed as a limitation of the scope of the claimed disclosure. Specific details are set forth to provide an understanding of the present disclosure. It should, however, be appreciated that the present disclosure may be practiced in a variety of ways beyond the specific detail set forth herein.

A number of variations and modifications of the disclosure can be used. It would be possible to provide for some features of the disclosure without providing others.

The present disclosure, in various embodiments, configurations, and aspects, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, subcombinations, and subsets thereof. Those of skill in the art will understand how to make and use the systems and methods disclosed herein after understanding the present disclosure. The present disclosure, in various embodiments, configurations, and aspects, includes providing devices and processes in the absence of items not depicted and/or described herein or in various embodiments, configurations, or aspects hereof, including in the absence of such items as may have been used in previous devices or processes, e.g., for improving performance, achieving ease, and/or reducing cost of implementation.

The foregoing discussion of the disclosure has been presented for purposes of illustration and description. The foregoing is not intended to limit the disclosure to the form or forms disclosed herein. In the foregoing Detailed Description for example, various features of the disclosure are grouped together in one or more embodiments, configurations, or aspects for the purpose of streamlining the disclosure. The features of the embodiments, configurations, or aspects of the disclosure may be combined in alternate embodiments, configurations, or aspects other than those discussed above. This method of disclosure is not to be interpreted as reflecting an intention that the claimed disclosure requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment, configuration, or aspect. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate preferred embodiment of the disclosure.

Embodiments of the present disclosure include a tracking device, comprising: a housing having an electronics receiving cavity; a battery disposed at least partially within the electronics receiving cavity of the housing and in a first plane parallel to a surface of the housing; a first communications antenna configured to emit radio signals in a first frequency range, the first communications antenna disposed at least partially within the housing and in the first plane; and a second communications antenna configured to emit radio signals in a second frequency range, the second communications antenna disposed at least partially within the housing and in the first plane, wherein a portion of the battery is disposed in a space between the first communications antenna and the second communications antenna, wherein the portion of the battery interrupts a radio frequency signal path between the first communications antenna and the second communications antenna.

Any of the one or more of the above aspects wherein the battery includes stacked layers of anode and cathode material, and wherein the stacked layers form a shield blocking radio frequency interference between the first communications antenna and the second communications antenna.

Any of the one or more of the above aspects wherein the battery has an electromagnetic field surrounding a portion of the battery, and wherein the electromagnetic field interrupts the radio frequency signal path between the first communications antenna and the second communications antenna.

Any of the one or more of the above aspects wherein the first communications antenna and the second communications antenna are mounted to a first side of a substantially planar printed circuit board.

Any of the one or more of the above aspects wherein the printed circuit board is configured as an L-shaped board, the first communications antenna being attached adjacent to a first end of the L-shaped board and the second communications antenna being attached adjacent to a second end of the L-shaped board diagonally opposite the first end.

Any of the one or more of the above aspects wherein the first communications antenna is mounted in an orientation orthogonal to an orientation of the second communications antenna.

Any of the one or more of the above aspects wherein the first frequency range includes at least one frequency within the second frequency range.

Any of the one or more of the above aspects wherein the first communications antenna is a global system for mobile (GSM) communication systems antenna.

Any of the one or more of the above aspects wherein the second communications antenna is a global positioning system (GPS) antenna.

Any of the one or more of the above aspects further comprising: at least one radio frequency shield disposed in the space between the first communications antenna and the second communications antenna.

Any of the one or more of the above aspects wherein the housing is a substantially rectangular three-dimensional shape, and wherein the first communications antenna and the second communications antenna are mounted in opposing corners of the housing.

Embodiments of the present disclosure further include a tracking unit, comprising: a split-housing including a cover interconnected with a base; an electrical subassembly disposed within the split-housing, the electrical subassembly comprising: a printed circuit board; a battery electrically interconnected to the printed circuit board; a first communications antenna configured to emit radio signals at a first frequency, the first communications antenna attached to the printed circuit board; a second communications antenna configured to emit radio signals at a second frequency, the second communications antenna attached to the printed circuit board, wherein a portion of the battery is disposed in a space between the first communications antenna and the second communications antenna, and wherein the portion of the battery interrupts a radio frequency signal path between the first communications antenna and the second communications antenna.

Any of the one or more of the above aspects wherein the cover and the base are interconnected with one another via at least one fastening element and a sealing element.

Any of the one or more of the above aspects wherein the first frequency and the second frequency are within 100 MHz of each other.

Any of the one or more of the above aspects further comprising: a temperature sensor connected to the printed circuit board and configured to measure and record a temperature of the tracking unit.

Any of the one or more of the above aspects further comprising: a pressure sensor connected to the printed circuit board and configured to measure and record a pressure of an environment surrounding the tracking unit.

Any of the one or more of the above aspects further comprising: a light sensor connected to the printed circuit board and configured to measure and record an ambient light level surrounding at least a portion of the tracking unit.

Any of the one or more of the above aspects wherein the light sensor is one of a photodiode, phototransistor, or photoresistor.

Any of the one or more of the above aspects wherein the first communications antenna and the second communications antenna are mounted at opposing corners of the printed circuit board.

Embodiments of the present disclosure further include a printed circuit board assembly for a tracking device, comprising: a substantially planar L-shaped substrate having a first portion running in a first direction and a second portion running in a second direction orthogonal to the first direction, wherein a first communications antenna configured to emit radio signals in a first frequency range is attached to the first portion, wherein a second communications antenna configured to emit radio signals in a second frequency range is attached to the second portion, wherein the first communications antenna is mounted in an transmitting orientation orthogonal to a transmitting orientation of the second communications antenna, wherein the first communications antenna is separated from the second communications antenna by an open space disposed between the first and second portions of the substantially planar L-shaped substrate, and wherein the open space is sized to receive a substantially planar battery.

Any one or more of the aspects/embodiments as substantially disclosed herein.

Any one or more of the aspects/embodiments as substantially disclosed herein optionally in combination with any one or more other aspects/embodiments as substantially disclosed herein.

One or means adapted to perform any one or more of the above aspects/embodiments as substantially disclosed herein.

The phrases “at least one,” “one or more,” “or,” and “and/or” are open-ended expressions that are both conjunctive and disjunctive in operation. For example, each of the expressions “at least one of A, B and C,” “at least one of A, B, or C,” “one or more of A, B, and C,” “one or more of A, B, or C,” “A, B, and/or C,” and “A, B, or C” means A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B and C together.

The term “a” or “an” entity refers to one or more of that entity. As such, the terms “a” (or “an”), “one or more,” and “at least one” can be used interchangeably herein. It is also to be noted that the terms “comprising,” “including,” and “having” can be used interchangeably. 

What is claimed is:
 1. A method comprising: determining, by a processor of a tracking device, a GPS signal is unavailable; in response to determining the GPS signal is unavailable, enabling, by the processor, one or more sensors; obtaining, by the processor, fingerprint data from a first sensor of the one or more sensors; and transmitting, by the processor, the fingerprint data to a network-based server, wherein the fingerprint data is used by the server to identify a location of the tracking device.
 2. The method of claim 1, further comprising, in response to determining the GPS signal is unavailable, disabling, by the processor, a GPS system-on-chip of the tracking device.
 3. The method of claim 1, wherein the first sensor comprises one or more of WiFi, Bluetooth, Zigbee, and a LoRa device.
 4. The method of claim 1, wherein the fingerprint data comprises one or more of a network ID, signal strength data, and a MAC address of a hardware device.
 5. The method of claim 1, wherein the fingerprint data is appended to an event report prior to being transmitted to the server.
 6. The method of claim 5, wherein transmitting the fingerprint data to the server comprises transmitting the event report to the server.
 7. The method of claim 1, wherein the steps of the method are performed in response to the processor detecting an occurrence of an event.
 8. A tracking device, comprising: a processor; and a computer-readable storage medium storing computer-readable instructions, which when executed by the processor, cause the processor to perform a method comprising: determining a GPS signal is unavailable; in response to determining the GPS signal is unavailable, enabling one or more sensors; obtaining fingerprint data from a first sensor of the one or more sensors; and transmitting the fingerprint data to a network-based server, wherein the fingerprint data is used by the server to identify a location of the tracking device.
 9. The tracking device of claim 8, further comprising, in response to determining the GPS signal is unavailable, disabling, by the processor, a GPS system-on-chip of the tracking device.
 10. The tracking device of claim 8, wherein the first sensor comprises one or more of WiFi, Bluetooth, Zigbee, and a LoRa device.
 11. The tracking device of claim 8, wherein the fingerprint data comprises one or more of a network ID, signal strength data, and a MAC address of a hardware device.
 12. The tracking device of claim 8, wherein the fingerprint data is appended to an event report prior to being transmitted to the server.
 13. The tracking device of claim 12, wherein transmitting the fingerprint data to the server comprises transmitting the event report to the server.
 14. The tracking device of claim 8, wherein the steps of the method are performed in response to the processor detecting an occurrence of an event.
 15. A computer program product, comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured, when executed by a processor of a tracking device, to: determine a GPS signal is unavailable; in response to determining the GPS signal is unavailable, enable one or more sensors; obtain fingerprint data from a first sensor of the one or more sensors; and transmit the fingerprint data to a network-based server, wherein the fingerprint data is used by the server to identify a location of the tracking device.
 16. The computer program product of claim 15, further comprising, in response to determining the GPS signal is unavailable, disabling, by the processor, a GPS system-on-chip of the tracking device.
 17. The computer program product of claim 15, wherein the first sensor comprises one or more of WiFi, Bluetooth, Zigbee, and a LoRa device.
 18. The computer program product of claim 15, wherein the fingerprint data comprises one or more of a network ID, signal strength data, and a MAC address of a hardware device.
 19. The computer program product of claim 15, wherein the fingerprint data is appended to an event report prior to being transmitted to the server.
 20. The computer program product of claim 19, wherein transmitting the fingerprint data to the server comprises transmitting the event report to the server. 